1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- <HTML>
-
- <TITLE>Performance Tips</TITLE>
-
- <link rel="stylesheet" type="text/css" href="mesa.css"></head>
-
- <BODY>
-
- <H1>Performance Tips</H1>
-
- <p>
- Performance tips for software rendering:
- </P>
- <ol>
-
- <li> Turn off smooth shading when you don't need it (glShadeModel)
- <li> Turn off depth buffering when you don't need it.
- <li> Turn off dithering when not needed.
- <li> Use double buffering as it's often faster than single buffering
- <li> Compile in the X Shared Memory extension option if it's supported
- on your system by adding -DSHM to CFLAGS and -lXext to XLIBS for
- your system in the Make-config file.
- <li> Recompile Mesa with more optimization if possible.
- <li> Try to maximize the amount of drawing done between glBegin/glEnd pairs.
- <li> Use the MESA_BACK_BUFFER variable to find best performance in double
- buffered mode. (X users only)
- <li> Optimized polygon rasterizers are employed when:
- rendering into back buffer which is an XImage
- RGB mode, not grayscale, not monochrome
- depth buffering is GL_LESS, or disabled
- flat or smooth shading
- dithered or non-dithered
- no other rasterization operations enabled (blending, stencil, etc)
- <li> Optimized line drawing is employed when:
- rendering into back buffer which is an XImage
- RGB mode, not grayscale, not monochrome
- depth buffering is GL_LESS or disabled
- flat shading
- dithered or non-dithered
- no other rasterization operations enabled (blending, stencil, etc)
- <li> Textured polygons are fastest when:
- using a 3-component (RGB), 2-D texture
- minification and magnification filters are GL_NEAREST
- texture coordinate wrap modes for S and T are GL_REPEAT
- GL_DECAL environment mode
- glHint( GL_PERSPECTIVE_CORRECTION_HINT, GL_FASTEST )
- depth buffering is GL_LESS or disabled
- <li> Lighting is fastest when:
- Two-sided lighting is disabled
- GL_LIGHT_MODEL_LOCAL_VIEWER is false
- GL_COLOR_MATERIAL is disabled
- No spot lights are used (all GL_SPOT_CUTOFFs are 180.0)
- No local lights are used (all position W's are 0.0)
- All material and light coefficients are >= zero
- <li> XFree86 users: if you want to use 24-bit color try starting your
- X server in 32-bit per pixel mode for better performance. That is,
- start your X server with
- startx -- -bpp 32
- instead of
- startx -- -bpp 24
- <li> Try disabling dithering with the MESA_NO_DITHER environment variable.
- If this env var is defined Mesa will disable dithering and the
- command glEnable(GL_DITHER) will be ignored.
- </ol>
-
-
- </BODY>
- </HTML>
|