Geometric Consolidation

Geometric consolidation is part of the rendering framework intended to improve performance. One of its main purposes is to avoid what has been commonly called the small batch problem in hardware rendering. The issue is that there is a certain amount of overhead associated with each draw (per render item). If the amount of overhead is large relative to the amount of geometry drawn, then performance can degrade.

A render item, or MRenderItem, is a renderable primitive, something that is actually rendered on a graphics card. For more information, see Rendering Framework and Data Classes.

Consolidation, as the name implies, merges or “consolidates” render items with matching geometric properties and shading algorithm. Ideally the result is fewer renderable objects and reduced overhead cost. As an example, if one or more renderables want to draw unshaded line segments, and each only had a few segments, then they could be consolidated.

Thus, Maya DAG objects and components don’t necessarily have a 1:1 translation into renderables.

Revisiting the previous pipeline diagram, we now have something which appears as follows:

Figure 8: Example of two render items being merged into one after consolidation.

After render items are determined, consolidation determines if they can be merged to produce new consolidated render items. These new items are then drawn as appropriate.