Geeks With Blogs
Timo Heinäpurola

Windows Phone 7 and Windows Phone 7.1 codename Mango was the topic of the event held today in Helsinki at the Finnkino movie theater Tennispalatsi. Microsoft Finland had invited two top notch speakers from Redmond namely Brandon Watson and Jaime Rodriguez. Following the recent public announcement of the new version of the platform this was one of the first events on the subject.

The keynote of the event mostly concerned the overall vision and idea of the Windows Phone 7 platform but the following sessions went into more detail about actually working with the platform. Especially interesting were the new features of Mango and it’s performance optimizations, so I’m mostly going to talk about them here. This post does not contain an extensive list of all the new features but I’ll try and elaborate on what I see as being most noteworthy.

The first feature that I feel is very important especially for applications like games on the Windows Phone is the new garbage collector. This GC is finally generational meaning that having a lot of small long living objects does not kill performance anymore. I’m sure that all my readers know what a generational garbage collector is but for those who don’t, it’s basically a garbage collector that groups older objects and younger ones into distinct sets that are traversed separately. This means that young objects can be traversed separately by root finding (i.e. if the object is still used somewhere) while old objects don’t necessarily  need to be checked.

The good thing here is that in XNA it’s now a lot more efficient to allocate single instances of Vector3, for instance, instead of doing what was previously recommended and allocating large arrays and reusing them. Doing the later is still not a bad thing, though.

There is also new sensor support coming with the Mango release. We will now get an API for the compass. Wohoo! The option of a compass has always been there in the specs but up until now there has not been an API for it. There’s also the gyroscope that will be added to the hardware spec and API as an optional device.

Another great thing coming with Mango is the concept of background tasks. The developer has the ability to register three different types of tasks that each have their own unique purpose. There are two general types of tasks, active tasks as well as on-idle tasks. On-idle tasks are executed when the phone is not in a cellular network and is on AC power. There is also a task type dedicated for playing background audio. These tasks are limited in how much processing power they can consume and how large their memory footprint can be.

There’s one more great feature that can be expressed with a single word: sockets. Finally we have the ability to use sockets for communication enabling real-time gaming on the internet and truly bringing the Microsoft three screens vision to life!

As is typical of me, I talked with mister Rodriguez about how the Microsoft C++ endeavors affect the Windows Phone roadmap and it turns out that Microsoft is working hard to solve a number of issues related to exposing a C++ API. This is something we knew already so nothing much to report there. But we have our hopes high, however, and I’ll keep my ears pointed in what is hopefully the right direction.

Posted on Thursday, May 26, 2011 10:57 PM Visual Studio , Events | Back to top

Comments on this post: Windows Phone Developer Day

# re: Windows Phone Developer Day
Requesting Gravatar...
Interesting. I'll will be checking your blog for any info on doing C++ on Windows 7 Phone. Personally I think unless C++ is a first clas language on this platform I doubt it can attract developers. I know I wouldnt.
Left by someone on May 27, 2011 3:01 PM

Your comment:
 (will show your gravatar)

Copyright © raccoon_tim | Powered by: