next up previous contents
Next: 16.1.2 Finding Bottlenecks in Up: 16.1 What Is Pipeline Previous: 16.1 What Is Pipeline

Three-Stage Model of the Graphics Pipeline

The graphics pipeline consists of three conceptual stages. Depending on the implementation, all parts may be done by the CPU or parts of the pipeline may be done by an accelerator card. The conceptual model is useful in either case: it helps you to know where your application spends its time. The stages are:

The amount of work required from the different pipeline stages varies depending on what the application does. For example, consider a program that draws a small number of large polygons. Because there are only a few polygons, the pipeline stage that does geometry operations is lightly loaded. Because those few polygons cover many pixels on the screen, the pipeline stage that does rasterization is heavily loaded.

To speed up this program, you must speed up the rasterization stage, either by drawing fewer pixels, or by drawing pixels in a way that takes less time by turning off modes like texturing, blending, or depth-buffering. In addition, because spare capacity is available in the per-polygon stage, you may be able to increase the work-load at that stage without degrading performance. For example, try to use a more complex lighting model, or define geometries such that they remain the same size but look more detailed because they are composed of a larger number of polygons.



David Blythe
Thu Jul 17 21:24:28 PDT 1997