programming hints
OpenGL performance hints
Chapter 556
glNormal3fv(&v2); glVertex3fv(&p5);
glNormal3fv(&v2); glVertex3fv(&p6);
...
glEnd();
The reason this is faster is the display list can optimize this type of
primitive into a single, very efficient structure. The small cost of adding
extra data is offset by this optimization.
Performance is increased by maximizing the number of vertices per
Begin/End pair. If your vertex data in memory is organized in a linear,
rather than a random manner, performance is enhanced by taking
advantage of vertex pre-fetch. It is most efficient to use 32-bit float data,
which avoids the need to convert data.
texture downloading performance
This section includes some helpful hints for improving the performance
of your program when downloading textures.
• If you are downloading MIP maps, always begin with the base level
(level 0) first.
• If it is possible, you should use texture objects to store and bind
textures.
• If you are doing dynamic downloading of texture maps, you will get
better performance by replacing the current texture with a texture of
the same width, height, border size, and format. This should be done
instead of deleting the old texture and creating a new one.
selection performance
To increase the performance of selection (glRenderMode GL_SELECTION)
it is recommended that the following capabilities be disabled before
entering the selection mode.
GL_TEXTURE_*
GL_TEXTURE_GEN_*
GL_FOG
GL_LIGHTING
OGLImp.book Page 56 Tuesday, February 14, 2006 9:15 AM