Optimizing Per-Fragment Operations on Mid-Range Systems
Consider the following issues when optimizing per-fragment operations for a mid-range system:
Alpha Blending. Mid-range graphics systems support alpha blending in hardware. All primitives can be blended, with the exception of antialiased lines and points, which use the blending hardware to determine pixel coverage. The alpha value is ignored for these primitives. Pixel blends work best in 24-bit, single-buffered RGB mode. In double-buffered RGB mode, the blend quality degrades.
Dithering.Dithering is used to expand the range of colors that can be created from a group of color components and to provide smooth color transitions. Disabling dither can improve the performance of glClear(). Dithering is enabled by default. To change that, call
glDisable(GL_DITHER)
Fog. Mid-range graphics systems do not accelerate per-fragment fog modes. To select a hardware-accelerated fog mode, call
glHint (GL_FOG_HINT, GL_FASTEST)
Lighting. Mid-range graphics systems accelerate all lighting features.
Pixel formats. The GL_ABGR_EXT pixel format is much faster than the GL_RGBA pixel format. For details, see "The ABGR Extension".
The combinations of types and formats shown in Table 14-2 are the fastest.
Pixel Formats and Types That Are Fast on Mid-Range Systems
Format
Type
GL_RGBA
GL_UNSIGNED_BYTE
GL_ABGR_EXT
GL_UNSIGNED_BYTE
GL_COLOR_INDEX
GL_UNSIGNED_SHORT
GL_COLOR_INDEX
GL_UNSIGNED_BYTE
Texture Mapping. All texture mapping is performed in software. As a result, textured primitives run with reduced performance.
Elan Graphics(TM) accelerates depth buffer operations on systems that have depth buffer hardware installed (default on Elan, optional on XS and XS24, not available on Entry systems).
Fast Clear Operations. The hardware performs combined color and depth clear under the following conditions:
depth buffer is cleared to 1 and the depth test is GL_LEQUAL
depth buffer is cleared to 0 and the depth test is GL_GEQUAL