4.1.1. About minimizing draw calls

Every OpenGL ES API function call imposes an overhead. It is easy to limit the performance of your application by making too many function calls.

You can reduce the overheads imposed by grouping uniforms and draw calls together and passing them in a smaller number of API calls.

OpenGL ES draw calls are calls to the following functions:

Draw calls impose CPU processing overhead. Your application can easily become CPU-bound if it makes too many of them.

The overheads are because of the operations that the functions have to do. The processing required by draw calls include allocating memory, copying data, and processing data. The overhead is the same whether you draw a single triangle or thousands of triangles in a draw call.

If you combine multiple triangles into a single draw call the overhead is only imposed once rather than multiple times. This reduces the total overhead and increases the performance of your application.

You can combine triangles in a single draw call by using the following:

You can additionally combine triangles by making combinations of combinations. For example, you can combine multiple triangle strips together. Adding degenerate triangles between the strips can assist this process.

Copyright © 2011 ARM. All rights reserved.ARM DUI 0555A