SIGGRAPH 2004 - The 31st international conference on computer graphics and interactive techniques
Conferenece Exhibition Call For Participation Presenters Media Registration spacer

16. Performance OpenGL: Platform-Independent Techniques
Monday, Half Day, 8:30 am - 12:15 pm
Room 502A
Level: Intermediate

The purpose of Performance OpenGL is to help all OpenGL programmers become aware of how the OpenGL pipeline's design can lead to optimizations that can help the performance of any OpenGL application. For novice OpenGL programmers, the course hopes to impart some "good habits" that every OpenGL programmer should be aware of and use consistently in their applications. For more advanced OpenGL developers, the course presents platform-independent considerations for deploying applications.

The purpose of this course is not to compare vendors' hardware implementations of the OpenGL pipeline, but to work at a higher level where a change in data format or method of sending data to OpenGL could affect performance. It draws generalizations about performance by conducting experiments on specific OpenGL implementations (which remain anonymous). For example, in almost all cases, passing signed image data into OpenGL yields an order-of-magnitude performance decrease.

Because many programmers use higher-level abstractions like scene graphs, as compared to writing programs that only use OpenGL, the course focuses on how library design can affect OpenGL performance. It reviews how performance is affected by design decisions, including the use of encapsulation for object-oriented languages, and summarizes idioms that may reduce negative effects.

The course also addresses the new directions that OpenGL and graphics hardware are taking, by analyzing the issues, options, and performance characteristics of vertex and fragment shaders in OpenGL.

Attendees should be comfortable programming with OpenGL and know how to read programs authored in the C programming language. One topic addresses object-oriented programming's encapsulation paradigm, but this section can be appreciated with only a cursory knowledge of the subject.

Intended Audience
Attendees who understand how data flows through the OpenGL pipeline and want to know how best to optimize their portable OpenGL applications.

Additional Information

Dave Shreiner
shreiner (at)

Brad Grantham

Bob Kuehne
Blue Newt Software

Dave Shreiner

Thomas True
NVIDIA Corporation

8:30 Welcome
8:40 OpenGL Performance Estimation and Pipeline Overview
9:20 Performance Bottlenecks: Causes and Cures
Shreiner and Kuehne
10 GPU Program Evaluation and Performance
Kuehne and True
11 Application Performance and Case Studies
Grantham and True
noon Conclusion, Questions and Answers

1       2       3      
4       5       6      
7       8       9      
10     11     12
13     14     15
16     17     18
19     20     21
22     23     24
25     26     27
28     29     30
31     32     33
Course Evaluation
All course attendees are encouraged to evaluate SIGGRAPH 2004 Courses content and presenters.

Online Evaluation Forms

Your ratings and comments are very important. They will be used to ensure that the annual SIGGRAPH conference consistently offers excellent courses on topics that are important to the SIGGRAPH community.
 > courses committee
 > share the SIGGRAPH 2004 web site
Conference 8-12 August, Exhibition 10-12 August.  In Los Angeles, CA