Disable Z-Test, Disable Z-Write

Use the Disable Z-Test and Disable Z-Write override modes to help determine whether your application is encountering potential performance issues due to Z-buffer operations.

In the viewing pipeline, 3D data is projected onto 2D screen space; a Z-buffer stores the z-coordinate of the object used to render each pixel in 2D space. Z-testing, also known as depth testing, typically rejects attempts to render into a specific pixel if the z-buffer value of a new rendering pixel is farther away from the viewer than the current depth value stored in the z-buffer.

The Disable Z-Test override mode does not perform any Z-buffer comparisons.

If you use the Disable Z-Write override mode, the result of the depth comparison is not stored in the Z-buffer.

Normal Picture

Disable Z–test

Disabling Z–test and Z-write renders all objects in a sequential order independent of their closeness to the viewer, and reveals some objects that are otherwise hidden.

If these modes significantly improve performance, you may be able to increase your frame rate by using some other culling technique prior to the Z-buffer test in the pipeline. Also, performance might be improved by drawing closer objects first, so that the Z-buffer test can reject further objects before these primitives pass through the entire rendering pipeline.

For more complete information about compiler optimizations, see our Optimization Notice.