Silverlight Performance at TechEd Europe

If you happen to be down at TechEd Europe this week, don’t forget to come by the Windows Phone 7 and Silverlight booths (they’re opposite each other in the Technical Learning Centre) and say hello. You’ll get to play with some phones from HTC and interact directly with both teams – don’t miss out! Something…


Silverlight for Windows Phone 7 Performance Session at PDC!

  It’s that time of year again – PDC 2010 kicks of tomorrow! Join the Silverlight Performance Team as we take you through the high level analysis of common performance issues that apps commonly run into. I’ll be giving a live session titled “Optimizing Performance for Silverlight WP7 Apps” at 3:15pm (PDT)  on day 1 (28…


WP7 Perf Tip #5: Check your memory usage

Two for the price of one today! Take Aways: Make sure your memory usage is below 90MB. Always check your memory usage while you’re developing your app (preferably on device) by using the following code: long deviceTotalMemory = (long)DeviceExtendedProperties.GetValue(“DeviceTotalMemory”);long applicationCurrentMemoryUsage = (long)DeviceExtendedProperties.GetValue(“ApplicationCurrentMemoryUsage”);long applicationPeakMemoryUsage = (long)DeviceExtendedProperties.GetValue(“ApplicationPeakMemoryUsage”); Why? The Windows Phone 7 Application Certification Requirements specify (as of 28th of…


WP7 Perf Tip #4: Use fully qualified paths when setting the source property

File this one under “Sad, but True”… Take Away’s: Always prefix your source paths with a “/” (full-qualified path) instead of simply using relative paths. Correct: <Image Source=”/Resources/Images/Background.jpg”> Incorrect: <Image Source=”Resources/Images/Background.jpg”> But they both work!?! True, both of these will work, equally well (visually), but performance wise the relative path will do extra lookups which…


WP7 Perf Tip #3: Read the performance document

This is kind of obvious – but important. Read the White Paper which was written by the Silverlight performance team (mainly Shane Guillet) and browse through the samples that come with it. In these blog posts I’ll try to distill specific items from the paper into blog format, but you can’t replace the feel of…


WP7 Perf Tip #2: Know your ProgressBar

Take Away’s: Do not use the built in ProgressBar straight up, use Jeff’s template  When you’re done with an indeterminate ProgressBar, make sure to toggle IsIndeterminate to False and Collapse the bar General: Always make sure to stop animations / remove animating controls when they’re no longer needed  Some Background: Due to a bunch of…


WP7 Perf Tip #1: Test on Device

I’m kicking off a series of posts about Silverlight perfofmance under Windows Phone 7 with a a kind of obvious one, but one that is important to keep in mind from the get go. Tip:  Test your code on device as much as possible  But the Emulator is awesome?!? True, the emulator, otherwise known as…


BUG: Silverlight Crashes (Along With the Browser) When Profiled

It’s one of those bugs… If you’ve tried profiling Silverlight lately and you’ve run into a consistent crash in Silverlight which brings down the browser, but only on specific projects then this bug is for you. Basically, profiling any Silverlight app (plugin or OOB) that takes advantage of Shaders will cause Silverlight (and its container) to…


Profile Silverlight 4 from the VS 2010 UI (Premium & Ultimate only)

Maxim has a great post detailing a workaround which allows you to get some profiling functionality from the Visual Studio 2010 UI, without restoring to the fun that is the command line profiler interface. Check it out.