Since I had all the game logic in, and very little of the rendering code is going to change I decided to give it a once over with a profiler to see what kind of shape it was in. It wasn't too bad really, just over 5ms to render each in game frame, or about 200FPS. But given the fact that the game is graphicaly simple i tried to see any obvious improvement I could add. What was obviously taking the most time to render was the textured quad that I use as the background. Okay, so disable alpha blending, draw quad, reenable. Tada, cut over 3ms off the rendering time. Now I'm down to apx 1.9ms per frame. I'll see how the game does on other machines, but I'd say I can find more optimizations if need be later.
I usaully write my own profilers, but in this case I was feeling lazy and just wanted to get the job done so I downloaded IProf. Took me about 2 minutes to get setup and the profiling zones set up, but then I found out that it doesn't support outputting profile info to a file. I was annoyed, but since I'd already spent 2 minutes setting IProf up I may as well write a function to output the results to a file. Its ugly, but it works.
-THIS JUST IN-
In the middle of writing this I went to play nanodude a bit to see how bad the gameplay has gotten after throwing in so many bad guys without any number tweaking at all, and it started crashing all over the place for various different reasons. None of this was broken before? Whats different? IProf. Remove IProf, bye bye bugs. Its a messed up world.