The game I am writing currently requires at one point an 800-by-600 bitmap to be displayed on the screen. Right now I’m using glDrawPixels() to display it, but that cuts my frame rate in half. Is there a better way to load or draw this bitmap that might take less time?
Use the bitmap as a texture. For now you’ll have to either pad or stretch the image to power-of-two dimensions. Later versions of OpenGL are supposed to allow a texture size such as 800x600. Could pad to 1024x1024 … could stretch to 512x512, 1024x512, etc.
Use a 1024 x 1024 texture on a quad (or equivalent) and use the extra space of the texture surface to store others textures (texture packing…)