My development machine is a 1 GHz notebook computer with no video hardware support for rendering 3D. The openGL system is software, and slow.

I had been hoping that I could keep the graphics simple enough that it would run at 30-40 frames per second even on machines like this. This makes it viable for ‘coffee house competitions’, between people who might meet in coffee houses, playing on notebook computers via the coffee house wifi network.

It is getting doubtful that I can manage that. The pitcher demo runs at about 28 fps, and profiling tells me that most of the execution time is in the opengl system. glPushMatrix calls alone make up almost 30% of the animation loop runtime, and their count has been niminalized as far as possible. The actual drawing code, like quad cylinder and sphere rendering, texturing, etc.. is under 10% of the total.

The batter code is similar to the pitcher code, but more complex, as it adjust dynamically to user control during the swing. There is less opportunity to factor code out of the animation loop than with the pitcher. If the batter code were (optimistically) to run at 28 fps, the combined speed would be 14 fps. … sucky…