Where a bottleneck can appear in an application ? Have you got a method to know where is the biggest bottleneck in an application?

And what are the possible solution to boost it depending of his location ?

You can use a profiler to determine how much time the functions spend to execute (many development kit come with a profiler).
However you can do your own profiling by using some timer.