Many users of the XNA Game Studio 3.0 CTP have posted questions on our forums that they have noticed that they are seeing significant performance differences between the Zune 30 (Also called Zune V1) and the Zune 4, 8, and 80's (Also called Zune V2). At GDC one of the common messages that I have talked about is that the hardware is very similar between the Zune V1 and Zune V2 devices, but because of some of the differences in performance users may perceive it to be greater than it is.
It All Comes Down to the Screen.
The resolution between the V1 device and the new V2 devices are exactly the same, 240x320. However there is one difference that can change the way the game behaves due to the screen. On the Zune 30 the screen refreshes at 60 Hertz or 60 times a second. On the Zune 4, 8, and 80 the Zune screen only refreshes at 30 Hertz or 30 times a second. While the difference isn't that perceptible to users it saves battery life on the device. When we worked on porting the XNA Framework to the Zune we did a lot of work behind the scenes to save battery life. While transparent to the user, we only call update on the game loop if the screen can handle refreshing. Think of it this way, if the screen can only display and image 30 times a second, why bother drawing to the screen 45 times? That would be a waste of processing power and battery life for doing work that the user never perceives.
So that means if you're calculating the FPS in your draw loop running on the Zune 30 your going to see something close to or at 60 frames per second which is tied to the 60 Hertz refresh rate. If you were to take the same game on a Zune 80 you would see something closer to 30 frames per second. While this is considered a drop in performance, we're really doing work to save battery life which is important to us on a mobile device. It's also worth noting that the way we've designed this on Zune you simply can't set SynchronizeWithVerticalRetrace to false because it's always synced on Zune.
Processor is the Same but it's all Back to Batteries:
The processor between the Zune 30 and Zune 4, 8, and 80 is pretty much exactly the same. However the processor in the Zune V2 runs at 399Mhz compared to that of 524Mhz on the Zune 30. Again, this all comes down to battery life which the new series of Zune's enjoy more of and it's still plenty of power to play music, view movies or even play games. While it seems like a lot of raw megahertz and is it, you'll probably notice that in reality the device isn't all that different. However as a developer if you're just measuring raw FPS, it's not really giving you a proper measure of the devices capabilities, especially on Zune.
Hopefully this will clear up some of the confusion for developers targeting the Zune or why you can only get 30 frames per second on the new Zune's.
I got a few emails from my callout for Zune games last week which was great! The next game up is Name from Paul and Arthur of Legendary Studios. Their game has a cool style and a unique input method to provide some great game play on the Zune. You can see a video of Name in action below. If you're looking to give the game a try or learn how they put it together hit up their CodePlex project site and give it a download today!
I've seen a few videos of Zune games that are being developed around the web and I thought it would be great to share one them with you. They got me pretty excited about what we've done with XNA Game Studio on Zune. This particular game is called "Valgard's Fate" and is being developed by DiNo Games, you'll find there blog here. What can I say other than this game looks great, I'm really hoping to try it out soon. Keep up the great work!
If you have other great games that you've seen or would like me to post about let me know! Would really like to feature them here!