OpenGL Insights
Cover Table of Contents Pipeline Map Tips Contributors Reviews BibTeX Errata Code Blog Buy

IV Performance

When it comes to real-time graphics, performance is what defines the possible from the impossible; it is what sets the boundaries.

A lack of performance might come from a lack of understanding of the platform we are working on. This may have a dramatic negative impact on the tile-based GPUs leading the OpenGL ES world. In his chapter, "Performance Tuning for TileBased Architectures," Bruce Merry presents key tile-based GPU architecture features and how to take advantage of them. Jon McCaffrey follows this discussion in his chapter "Exploring Mobile vs. Desktop OpenGL Performance," which shows the performance-scale differences between the mobile and desktop worlds.

Performance is not only the concern of GPU architectures, it is also the direct result of how we write software. With GPUs whose performances increase at a faster rate than CPUs, we are more and more often CPU-bound, leaving us incapable to benefit from all the GPU power. Sébastien Hillaire, in his chapter "Improving Performance by Reducing Calls to the Drivers," introduces some fundamental concepts to reduce CPU overhead with a legacy flavor.

In his chapter "Indexing Multiple Vertex Arrays," Arnaud Masserann comes back to one of the most fundamental elements for GPU performance: how we submit vertex array data to the GPU. He provides a directly applicable method to ensure that vertex indexing will be used even on assets not organized this way, like COLLADA geometry.

Finally, sometimes we are left with no choice: to scale performance, we must scale the number of GPUs used for rendering. This is the topic of Shalini Venkataraman in her chapter "Multi-GPU Rendering on NVIDIA Quadro." She explains how to efficiently use multiple GPUs for rendering and integrate their work to build the final image.


23. Performance Tuning for Tile-Based Architectures
Bruce Merry
WebGL
OpenGL ES

...


24. Exploring Mobile vs. Desktop OpenGL Performance
Jon McCaffrey
OpenGL
WebGL
OpenGL ES

...


25. Improving Performance by Reducing Calls to the Driver
Sébastien Hillaire
OpenGL

...

code


26. Indexing Multiple Vertex Arrays
Arnaud Masserann
OpenGL
WebGL
OpenGL ES

...

code


27. Multi-GPU Rendering on NVIDIA Quadro
Shalini Venkataraman
OpenGL

...


Sections