Single page Print

Occlusion detection
Real application performance is determined by more than just raw fill rate, however. The 9700 packs the third generation of ATI's HyperZ suite of bandwidth conservation techniques. All of these techniques have to do with the Z buffer, which stores depth information about each pixel in a scene. The HyperZ bag of tricks includes lossless Z buffer compression, fast clearing of the Z buffer, and a pair of occlusion detection methods, dubbed Hierarchical Z and Early Z.

If you read the words "occlusion detection" just now and your eyes glazed over, don't fret. Occlusion in 3D graphics is a simple thing: when one object is in front of another, the object in back is occluded from view. Occluded objects are a problem in graphics, because 3D chips tend to draw everything in a scene, only figuring out which pixel belongs in front of another during the rendering process. Drawing pixels the viewer will never see is often referred to as overdraw, and overdraw is wildly inefficient. If a chip can figure out which pixels are occluded and avoid drawing them, lots of effort—and memory bandwidth and pixel processing power—will be saved.

ATI's Hierarchical Z logic examines blocks of pixels to determine whether they will be occluded when a final scene is rendered. If none of the pixels in a block will be visible, the block doesn't get drawn. Hierarchical Z doesn't catch everything, but it can cut down on unneeded pixel processing. Early Z is a new addition in this third-gen HyperZ suite, and it does occlusion detection on a per-pixel level. ATI claims Early Z "virtually eliminates" overdraw. This new, more rigorous approach makes particular sense on a DX9 card, because performing complex pixel shading ops on occluded pixels would be especially painful.

To examine the effectiveness of the 9700's occlusion detection, we'll use VillageMark, which benchmarks an extreme worst-case scenario for overdraw. For what it's worth, the Radeon 8500 and GeForce4 Ti 4600 both have limited forms of occlusion detection, but Parhelia doesn't have any.

The Radeon 9700 Pro shows its mettle here, clearly outrunning the other cards.

Incidentally, some folks have speculated that VillageMark effectively tests texel fill rates more than anything because of its robust use of multitexturing. However, our results show something different. The Parhelia, which has the highest texel fill rate and no provisions to reduce overdraw, is slowest of the group. The R9700 Pro, with only one texture unit per pixel pipe, is fastest by a fair margin.