Coffeehouse Post

Single Post Permalink

View Thread: .Net in Windows Phone 8 - What changed?
  • User profile image

    OK so WP8 gets native support. That is a good thing I guess in the sense that it makes it easier to port games etc to it (however I question that this is such a big issue since porting from iOS to Android would be a similar large task, no?).

    Anyway, so while we can now do games etc in native code, how about performance? I'm asking because .Net in CE has been known to have performance problems compared to .Net in Windows (this is even true for Xbox apparently). One of the big issues is the GC in CE is that it has long GC cycles causing long freezes in games etc. .Net on Windows doesn't have this issue so much since it is much more optimized, etc. See this for instance. In fact I wrote a realtime audio application in .Net for Windows and I can get excellent low latency performance (less than 5ms) with no audible glitches even at high CPU usage (it supports native VST plugins).

    So my question is... Are we getting these same .Net benefits in Windows Phone 8 now that it is no longer based on CE? Does anyone have any information regarding expected performance improvements when going with native code vs managed code for something like, say, a 3D game engine?

    Here's the reason I'm asking... One of my pet projects is a 3D game engine that I started many years ago. It is an ongoing project and initially it was started in the DirectX 7 days as a native 3D engine. Then when XNA came along, I painstakingly ported it over to XNA (and adding support for WP7), making many improvements along the way. Now with the option of going native again, I'm wondering whether it would be worth porting back to native once again (this will be painful - it took a lot of work to port to .Net), so I'm wondering whether sticking with managed will be fine since I'm expecting .Net code to get a boost from no longer being on CE.

    Anyone have info regarding this?