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 Tile-
Based 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. ebastien Hillaire, in his chapter “Improving Per-
formance 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
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
This page intentionally left blankThis page intentionally left blank

Get OpenGL Insights now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.