HyperZ
From Wikipedia, the free encyclopedia
HyperZ is the name of a set of computer graphics processing techniques used by ATI Technologies in their Radeon video cards.
On the Radeon R100-based cores, Radeon DDR through 7500, where HyperZ debuted, ATI claimed a 20% improvement in overall rendering efficiency. They stated that with HyperZ, Radeon could be said to offer 1.5 Gigatexels per second fillrate performance instead of the card's apparent theoretical rate of 1.2 Gigatexels. In testing it was shown that HyperZ did indeed offer a tangible performance improvement that allowed the less endowed Radeon to keep up with the less efficient GeForce 2 GTS. [1]
With each new core, ATI has revised and improved their innovative technology. In Radeon R200 (8500-9250), HyperZ II was implemented. HyperZ III+ was used in Radeon R300-based cards and HyperZ HD arrived with the Radeon R420-based cards.
NVIDIA introduced similar technology with the release of GeForce 3, called Lightspeed Memory Architecture (LMA). This technology eventually allowed the revamped NV17 core used on GeForce4 MX to outperform the GeForce2 Ultra (NV15) even though Ultra had twice as many pixel pipelines and the two were of the same family. [2]
[edit] Functionality
HyperZ consists of three mechanisms:
Z Compression - The Z-Buffer is stored in a lossless compressed format to minimize the Z-Buffer bandwidth as Z read or writes are taking place. The compression scheme ATI used on Radeon 8500 operated 20% more effectively than on the original Radeon 256.
Fast Z Clear – Rather than writing zeros throughout the entire Z-buffer, and thus using the bandwidth of another Z-Buffer write, a Fast Z Clear technique is used that can tag entire blocks of the Z-Buffer as cleared, such that only each of these blocks need be tagged as cleared. On Radeon 8500, ATI claimed that this process could clear the Z-Buffer up to approximately 64 times faster than that of a card without fast Z clear.
Hierarchical Z-Buffer – This feature allows for the pixel being rendered to be checked against the z-buffer before the pixel actually arrives in the rendering pipelines. This allows useless pixels to be thrown out early (Early Z Reject), before the Radeon has to render them.