Framerate PC vs. XBOX

Jun 17, 2010 at 6:11 PM
I separated tutorial 26 (threaded content loading) and run it on the xbox360. I modified column 350 and 352 in Tutorial.cs and set SpriteCount=250000. The Framerate on my notebook with a simple OnBoardGraphic ist 15 FPS. On the Xbox 2 FPS. I can't find the bug! Can you help me?
Coordinator
Jun 17, 2010 at 6:14 PM
Edited Jun 17, 2010 at 7:56 PM

The .net framework on the 360 is based on the compact framework (ie, what they used to use on PDA's).

It does no optimisation of any form. So you will typically see about 10x poorer performance when comparing to a modern CPU on the PC. It's not so much a limit of the xbox, more a limit of the .net runtime they are using.

Jun 17, 2010 at 7:54 PM
This is right. But i think that this can´t be the reason. I think so, because an empty 'game' runs on my PC with (FixedTimeStep=false) with 55 FPS and on the xbox360 with 1280 FPS. I think it must be the API. (Sorry, but my english is not good!)
Coordinator
Jun 17, 2010 at 7:59 PM

That'll be because you will have vsync enabled on the PC. If it were disabled, you'd probably find the frame rate would go up into the 1000s as well.
Besides, the 360 has an extremely fast GPU - the limit in tutorial 26 is the CPU.

The 360 can manage a 1,000,000 particle system at 50-100 frames per second. This is because it's being run on the GPU, if it were on the CPU, it'd be many orders of magnitude slower.

Jun 17, 2010 at 8:18 PM
OK, i set it back to 20000 sprites and the framerate flicker between 58 and 60. This amount of sprites should be sufficient for simple games.
Coordinator
Jun 17, 2010 at 8:24 PM

Depending on the type of effect you are trying to make, it makes much more sense to use a particle system. You will get much better performance (but of course there are a few more limits placed on what you can do).