The Radeon 9700 Pro
features an updated implementation of Hyper Z: Hyper III.
The goal of Hyper Z to save bandwidth, which in turn will
provide improved performance. Most manufacturers include
similar such technologies now, e.g. NVIDIA’s Lightspeed
Memory Architecture or PowerVR’s Tile Based Rendering.
Conversely Matrox’s Parhelia graphics cards feature no
bandwidth saving technologies & as such despite massive
bandwidth performance is lacking against many other graphics
cards that feature comparatively less bandwidth, but do
feature bandwidth saving technologies. The main components
to Hyper Z III are:
Hierarchical Z
This would perhaps be the main “meat” to Hyper Z, the aim of
which is to reduce the level of overdraw during rendering.
It’s referred to as hierarchical as the Z-Buffer is divided
into (3 levels of) tiles upon which the depth tests are then
carried out to determine visibility of objects & whether
rendering should occur or not. Hyper Z III further enhances
this by adding an Early Z Test allowing depth comparisons to
be made against the display resolution Z-Buffer should it
pass the Hierarchical Z-Buffer tests. Hierarchical Z
requires no specific application support, though performance
benefits can vary depending on rendering order, with Front
to Back potentially yielding the best performance & Back to
Front yielding least gains. Most Games however use a Random
rendering order, the benefits of which tend to lie somewhere
between in between the 2 previous rendering orders. It is
also probably worth noting that Hierarchical Z is not as
efficient as PowerVR’s tile-based deferred rendering.
Z Compression
The Z-Buffer contains depth information for every pixel to
be rendered. Thus using higher resolutions not only consumes
more fill rate, it also requires a larger Z-Buffer as more
pixels are to be rendered. Hyper Z III however supports
compression of the Z-Buffer, which reduces the size of this
data & therefore will save on bandwidth needed for Z-Buffer
reads/writes. With FSAA enabled colour compression is also
supported. As such this compression helps makes the Radeon
9700 Pro a highly efficient card when rendering with FSAA
enabled in particular & ATI claims that at best it offers at
24:1 compression ratio with 6X FSAA (4:1 with FSAA
disabled). Perhaps most critically this Z Compression is
lossless & there should be no adverse effect on image
quality as a result. No application support is required for
this.
Fast Z Clear
Normally clearing the Z-Buffer (which needs to be done for
each frame rendered) is performed by writing 0s throughout
it. With Fast Z Clear this process is made significantly
more efficient by tagging blocks of the Z-Buffer as cleared
(ATI claims this uses only 1/64 the resources over Fast Z
Clear disabled). No application support is required for this
feature.
Truform 2
Truform 2 represents
ATI’s Higher Order Surface support features. This takes the
form of N-Patch support, & with Truform 2 – Displacement
Mapping support as well – both are means of achieving the
same goal – increasing the level of geometry (For more
complex appearing shapes). N-Patch support has been refined
a bit further & now supports continuous, adaptive
tessellation. N-Patch support is available in several Games
at this point & to illustrate the intended effects of this I
used Soldier of Fortune 2, which can use N-Patches in the
Random Mission Generator created maps.
TRUFORM
disabled
TRUFORM
enabled
As you can see from
the above, N-Patches provide a more natural, less angular
sloping to the terrain in the game. For a great deal of
information on Displacement Mapping I’d suggest you check
the
Matrox website articles, which contains several Flash
demonstrations & other useful information about it.