SGI Windows NT Toolbox

KnowledgeBase

Optimizing OpenGL applications for the new Visual Workstations


System:   any Category:   graphics Last Modified:   2/22/99
OS version:   NT 4.0 Product:   OpenGL Service Pack:  
Description

How should I most effectively optimize my application to take advantage of the new hardware within the Silicon Graphics 320 and Silicon Graphics 540 Visual Workstations?

Problem Resolution

Generally speaking, the new systems are well balanced, so most general OpenGL tuning methods will work well. However, there are cases where you can make substantial improvements on the Visual Workstations. Following is a list of the most important optimizations:

  • Minimize OpenGL state changes by collecting objects with similar properties and drawing them at the same time. Important properties include textures, materials, lights and matrices.
  • Minimize the use and number of spotlights and local lights. Instead, use infinite lights wherever possible.
  • Use OpenGL display lists.
  • Use OpenGL extensions whenever practical. Be sure to include code to deal with the absence of such extensions in a graceful manner to ensure portability on platforms that do not support them. One such extension is the use of Vertex Arrays (glLockArraySGI, glUnlockArraySGI).
  • Use float instead of double for OpenGL data structures (vertices, texture coordinates, etc.)
  • Choose the path with the greatest hardware support. Some OpenGL paths, antialiased polygons, for example, require software intervention on the Silicon Graphics 320.
See the following references for more details:


Send comments on this case to kbase@sgi.com.


Copyright © 1997-98, Silicon Graphics, Inc.