Game Design, Programming and running a one-man games business…

Raw PIX data for gratuitous space battles

I’ve never seen anyone share data like this, but I don’t see why they wouldn’t, it’s hardly source code. PIX is a free program from Microsoft that lets you analyze your games directx performance. I haven’t analyzed this data or changed any code yet, but here is a quick 2 minute start of a battle in the game (release build) analyzed with pix. Click the image for a larger version

This is great for working out why you get occasional slow frames, or working out where bottlenecks are. TYhe FPS seems to never go above 60 FPS, because the game caps it there, making a note of the ‘headroom’ available for potentially enabling higher-demand effect (not all done yet).

This is under Vista, 2 gig RAM, Core 2 Duo 6600 2.4 gig CPU and a Geforce 8800 GTS with latest drivers.

Please feel free to comment on how the numebr compare to agmes you might have worked on or develop now. I’d lvoe to see other peoples pix data as a sanity check. Is 83 set textures a frame a lot?  it seems to depend on what else is going on.


5 thoughts on Raw PIX data for gratuitous space battles

  1. I’m guessing that if you look at enough of these graphs it ends up like the matrix, in that you dont need to look at the graphics at all in order to play the game (i see blonde, brunette, battlecruiser…). But please bear in mind that the game will not be much fun for the rest of us if it looks like this, so dont forget to add the actual graphics in to the final product.

  2. FPS cap is due to vsync?

    Do you use texture atlases? Might be a good idea especially for things like particles.

    Sort all ships so you don’t switch textures rendering ship typ A-B-A-B instead of A-A-B-B?

    Fillrate can be a bottleneck sometimes especially when particles are involved, like zooming in on a dense area of particles, in my experiences.

  3. Oh I’m definitely using texture atlases in a big way. Every particle is on a single big texture. The ships are a bit of a problem, because they are in a specific z-order, and have various layers on top of them (lights, particles, engine trails), so its not possible to draw all the ship sprites together, not with getting the alpha blending working correctly. (using the Z buffer won’t allow me to do that).

  4. It seems like it would be a good idea to sort the ships Z by ship types then. Having smaller ships always go on top feels like it would be an added benefit. Then use multitexturing to handle the multiple layers like:

    1. Particle Atlas <- this one dosnt change
    2. Ship
    3. Enginetrails
    etc

    Or does the z-sort of the ships have to be in a certain way for other reasons?

Comments are currently closed.