Michael Klucher's Blog

XNA Game Studio, Communiuty Game Development, and More.

Search Posts


News

Add to Technorati Favorites

XNA Community Game Platform Team Sites

XNA MVP Sites

Zune Performance Between Zune 30 and Zune 4, 8, and 80

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.

Comments

Paul Cunningham said:

We've always been lead to believe that the only difference was in the input - if I'd have known this before I purchased my Zune it would have made a difference as I only bought it for XNA GS development.

# June 20, 2008 2:40 PM

Nick said:

Doesn't seem that link came across right (gave me an error when I clicked it) so here's the same one using TinyURL: http://tinyurl.com/5h6ct7

# June 20, 2008 9:08 PM

Matt Freckleton said:

Wow, that's terrible. I hope Microsoft allows developers to adjust the clock speed and refresh rates so that they can target a fixed platform.

# June 24, 2008 5:56 PM

Pasco said:

'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...'

I assume the last sentence is a generalization but this irks me nevertheless. The difference might not be that perceptible for many users or most users but for some it is considerable.

A year ago I was showing NBA 2K7 on the 360 to my sister in order to show her how human characters look in modern games and she asked me why 'the movement sometimes is so jerky'. NBA 2K7 runs with 60fps (frames per second) in-game and 30fps (sometimes less) in replays and close-ups.

I was surprised because she is not that much of a gamer. The last time she played regularly was in the Super Nintendo Mega Drive days. Then again that might be the reason she noticed because back then pretty much every game ran with 60fps. They did that for a good reason.

Additionally in 2D games movement is almost never into the depth of the screen, it is always sideways, game objects travel the most distance per frame on the screen plane and low framerates become most noticeable.

I don't know of any developers who think that anything less than 30 FPS is acceptable. Everybody is aiming for at least 30. But somehow 'acceptable' has become the new 'good' over the years because even AAA titles are aiming for it and now devices don't allow anything above it.

# June 27, 2008 6:51 AM

Pasco said:

Sorry! Every time I tried to send the post, I got an error message saying that the HTTP request couldn't be processed or something like that.

# June 27, 2008 2:57 PM

Trastan said:

Wow, this is pathetic. I've long wondered why the new Zunes don't run as smoothly as their first-ten bretheren, and now I know. This was a foolish decision, and whoever thought that people wouldn't notice underestimated the intelligence of their customers. Now I feel like an idiot for paying extra to buy a player with extra storage space and features that could have just as easily been brought over to the (more powerful!) first gen device. Seriously, have you seen how the 80 runs on its TV-out? It's a slideshow.

Learn where to cut back, Microsoft. Device performance should have been your last choice.

# June 30, 2008 6:25 PM

Pete said:

"While transparent to the user, we only call update on the game loop if the screen can handle refreshing."

Michael, don't you mean "... we only call draw on the ..."?

If not, I mean, if you were meaning "update" in fact, how can then this affect responsiveness to user input on Zune 2 devices?

# July 9, 2008 1:39 PM
Leave a Comment

(required) 

(required) 

(optional)

(required)