At PDC10 as part of the keynote, Scott Guthrie showed off the soon-to-be-released Silverlight Performance Analysis tool that would allow developers to profile their Windows Phone 7 applications and identify bottlenecks in frame rate and CPU and relate that back to specific storyboards and even Visual Tree elements.
The below screenshots were taken from the keynote video and you can see the timings at the bottom if you want to watch the video:
In addition to debugging on the device, you can profile the app by selecting Silverlight Performance Analysis:
The device will then be prepared for profiling:
After running the application, a graphical summary will be created with execution time on the x-axis. It shows color-coded frame rates (green is good, red is bad) and relates that to CPU-usage and specific Storyboards:
In the above example, it appears that the first Storyboard might be leading to increased CPU usage and a degraded frame rate. You can highlight and drill down to see details for a specific time frame (from approx 4.5 to 7.5 seconds into the profiling session):
The next screen shows CPU and GPU metrics as well as a list of warnings. The first entry warns about 35 instances of ColorAnimation:
Scrolling down, you will see an Element Summary:
Followed by a Frames section with a CPU usage graph:
And finally the ability to drill down the Visual Tree and see problems highlighted:
This tool would be very helpful in analyzing app performance on the device. ScottGu did not give a specific release date for this or any additional tools that might be coming.
Today I saw that there is a Silverlight Firestarter event scheduled for December 2, 2010 and wonder if the tool will be ready to release then.
It would make a great time to announce it.