Next | Prev | Up | Top | Contents | Index

Optimizing the Imaging Pipeline

Here are some points that help you optimize the imaging pipeline:


Using the Color Matrix and the Color Writemask

Your application might perform RGBA imaging operations (for example convolution, histogram, and such) on a single-component basis. This is the case either when processing gray scale (monochrome) images, or when different color components are processed differently.

RealityEngine systems currently do not support RGBA-capable monochrome visuals (a feature that is introduced by the framebuffer configuration extension; see "The Framebuffer Configuration Extension"). You must therefore use a four-component RGBA visual even when performing monochrome processing. Even when monochrome RGBA-capable visuals are supported, you may find it beneficial to use four-component visuals in some cases, depending on your application, to avoid the overhead of the glXMakeCurrent() or glXMakeCurrentReadSGI() call.

On RealityEngine systems, monochrome imaging pipeline operations are about four times as fast as the four-component processing. This is because only a quarter of the data has to be processed or transported either from the host to graphics subsystem--for example, for glDrawPixels()--or from the framebuffer to the graphics engines--for example, for glCopyPixels().

The RealityEngine implementation detects monochrome processing by examining the color matrix (see "Tuning the Imaging Pipeline") and the color writemask.

The following operations are optimized under the set of circumstances listed below:

Here's the set of circumstances to be met:


Next | Prev | Up | Top | Contents | Index