Files
third_party_mesa3d/docs/perf.html
Erik Faye-Lund ecdab0dfea docs: drop h1 in header
It's generally frowned upon to have more than one H1 per document in
HTML4. So let's put the text directly inside the header. This means we
can drop the flex-based centering, which makes things a bit easier. We
also need to change the padding to rem instead of em, because the em has
now changed.

Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
2019-05-08 07:18:15 +00:00

77 lines
3.0 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>Performance Tips</title>
<link rel="stylesheet" type="text/css" href="mesa.css">
</head>
<body>
<div class="header">
The Mesa 3D Graphics Library
</div>
<iframe src="contents.html"></iframe>
<div class="content">
<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 &gt;= 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>
</div>
</body>
</html>