A lot of new developers are tempted to follow the (good) advice to test their apps with a performance analyzer before submitting their apps to the store, yet find some very intriguing results. When the analyzer is running, the app appears to be very sluggish
and have poor responsiveness in the UI, while testing it by hand shows perfect UI response and great fluidity.
The reason why this happens is that when one runs the performance analyzer, they basically deploy a package on their test device which monitors the actual performance of the apps and set data back to visual studio. This package is actually slowing down your
app, since it will run at the concurrently and gets bottle-necked by the data transfer rate of the USB cable or other connection means (among other reasons).
A similar thing happens when you run the app with a debugger attached, although the debugger is also slowing down the app due to symbol loading.
The purpose of the performance analyzer is misunderstood. It is not supposed to find the problems for you, it is supposed to analyze the problems you already found by yourself.
That means you run the app without the analyzer or the debugger, see where something goes wrong, attach the analyzer/debugger and then try to reproduce the issue and these tools will tell you, with some degree of accuracy, how well your app behaves and why
things go south.
The marketplace verification team will not attach a debugger or a performance analyzer to your app during certification. They will test your app by hand (from the point of view of the average user, who has no clue what a debugger is) and they will see if
the app gets sluggish or not.
Another thing to consider when it comes to app performance tests is that the deployments on your test device is not running at its full speed, due to the need for JIT (just in time) compiling. This compilation will happen every time you start your app. The
marketplace performs a final, ahead of time compilation, that will turn your MSIL compiled code in native images.
This will make your app start a little bit faster; the overall responsiveness of the app is unlikely to change.