programming hints
OpenGL performance hints
•Grouping your state changes together (that is, several modal state changes at one time), and then rendering primitives, will provide better performance than doing the modal state changes one by one and intermixing them with primitives.
•Grouping primitives that require the same modal state together to minimize modal state changes. For example, if only part of a scene’s primitives are lighted, draw all the lighted primitives, then turn off lighting and draw all the unlighted primitives, rather than enabling/disabling lighting many times.
Some states negatively impact performance, such as
optimization of lighting
HP’s implementation of OpenGL optimizes the lighting case such that the performance degradation from one light to two or more lights is linear. Lighting performance does not degrade noticeably when you enable a second light. In addition, the GL_SHININESS material parameter is not particularly expensive to change.
occlusion culling
The proper use of HP’s occlusion culling extension can dramatically improve rendering performance. This extension defines a mechanism for determining the
high frame rate applications
To achieve maximum performance for buffer swap and clear operations across the entire family of Visualize and OEM graphics devices, avoid the following:
•Scissor rectangle smaller than the window size
•
58 | Chapter 5 |