Windows Phone 7 Mango applications performance tweaks detailed

Two of Microsoft’s Mango most anticipated features are undoubtedly the new smooth scrolling ListBox control and off-thread decoding of images that will finally allow third party applications to be a lot more polished in terms of UX and performances. Microsoft’s Jeff Willcox has posted to must-read blog posts detailing both new implementations which are already available to developers in the Windows Phone 7.1 Mango Beta SDK.

In the case of the new ListBox control no code changes have to been implemented for it to take effect in Mango as long as a regular ListBox/ScrollViewer was used in the application and enabling background decoding of image requires less than one line of code ( CreateOptions=”BackgroundCreation”).


UPDATE: A new blogpost detailed the Generational GC introduced in Mango is now up:

We use 2 generations on the WP7 referred to as Gen0 and Gen1. A collection could be any of the following 4 types
1.An ephemeral or Gen0 collection that runs frequently and only collects Gen0 objects. Object surviving the Gen0 collection is promoted to Gen1
2.Full mark-sweep collection that collects all managed objects (both Gen1 and Gen0)
3.Full mark-sweep-compact collection that collects all managed objects (both Gen1 and Gen0)
4.Full-GC with code-pitch. This is run under severe low memory and can even throw away JITed code (something that desktop CLR doesn’t support)

The list above is in the order of increasing latency (or time they take to run)

source: MSDN , MSDN & MSDN