In drawing a typical frame of a biggish battle, the following time is used up:
47% Drawing the ships and their attached particle stuff and effects
12.7% Drawing the debris, and updating debris that is not on-screen
8.3% Drawing missiles and associated effects (it was a missile-heavy fleet, to be fair)
7% Drawing drifting hulks of destroyed ships, and their attached emitters
5.9% Processing gameplay stuff for ships, including target-selection AI
4.3% Post-processing shader stuff
3.18% Drawing the backdrop map.
2.49% Drawing GUI
It seems clear to me that the background map and the missile stuff is slower than it should be, so time to do some digging and stroking of chin, and some speedups…
The tricky thing with all this is making sure that you minimize the amount of work a video card will do, ebcause some people cards may be less capable than mine (GeForce 8800 GTS), but at the same time I don’t want to ‘over-batch’ things, because ideally there is some concurrency betweent he CPU and the GPU. (In other words, the GPU is given things to do while the CPU gets on with non-graphcis stuff, as opposed to the two chips basically taking turns.
There are tools to examine all this stuff, like PerfHUD and Pix. They can be very very complicated to wade through though. I’ll try and gather up some more interesting stats one xactly how its all looking from a performance POV.