About the original HyperZ implementation

msxyz

Newcomer
Hi guys,

I recently scavenged a nice Radeon VE card for my collection of old computer related junk. Since it turned out it was still working I ran a few benchmarks using an old AGP board with a P4.

I was really surprised to see it was able to score nearly 2800 points at 3Dmark 2001 despite having only one pipeline. It seems that HyperZ is indeed very effective at discarding pixels which are hidden. I don't thin bandwidth is really the limiting factor as it has 2.7GB (as much as a GeForce2MX)

I started looking into this technology but most of the articles or reveiws I found are rather vague. I know that Radeons used both Z compression and Hierarchical-Z technologies.

I'm really intrigued about the hierarchical-Z implementation. There are a few algortihms used for offline rendering but they are rather complex with a pyramidal approach. All I know about the technology used inside the R(V)100 chip is that it caches some kind of Z information for 8x8 pixel tiles. I'm not sure, though, how it effectively works or how big this cache really is, considering that the transistor budget of the day was not very high.

If someone could satisfy my curiosity, I'd be very grateful.
 
Thanks for the replies; maybe it would be interesting to perform some comparison with cards in the same ballpark as the VE. A G400 or a TNT2 should have a similar bandwidth and even higher pixel fillrate (because of their dual pipelines).

I've tried also to disable HyperZ first with Radlinker then directly in the registry but the scores didn't change. Either the drivers I'm using don't allow this operation on old cards or maybe the hyperZ cannot be turned off in this model.
 
Sorry for the doublepost... It seems that I am not allowed yet to edit my posts on the board.

No-X, I've found the pdf very interesting, alas it doesn't say a lot about hierarchical-Z or how it is implemented inside R(v)100 chips. I've found a more in-depth explanation about HyperZ-HD in this article: http://www.xbitlabs.com/articles/video/display/r420_9.html It seems that this approach is more sofisticated than I though, although I don't know if it was the same used in the first Radeons
 
maybe it would be interesting to perform some comparison with cards in the same ballpark as the VE. A G400 or a TNT2 should have a similar bandwidth and even higher pixel fillrate (because of their dual pipelines).

rv100_ds.png


rv100_q3a.png


some notes:
- 3DLabs Oxygen VX1: enabled Q3A specific optimizations
- Voodoo 4: enabled box postfiltering in Q3A (by mistake, it could hurt performance up-to 10%)
- only Radeons and G400 are able to run Q3A with trilinear (trilinear + multitexturing)
- tested Rage XL is 32bit :D
 
Thanks guys, you've been very supportive. :smile:

Now I'm really tempted to dust off some of the junk I keep around and do some more tests by myself. I should still have a fully functional G400MAX somewhere and a few other cards of that era.

I couldn't find a way to disable Hyper-Z in the drivers and see the difference with/without. I've tried both Radlinker and manually changing values in the registry but it's useless. It seems that Catalyst (even the old versions) won't let me change that. Pre-Catalyst drivers, on the other hand, don't seem to recognize the card, as it's not built by Ati.

Slighty OT, I've found that through Radlinker I can enable some odd 3x antialiasing mode which has the same performance impact of 2x but looks in between a 2X and a 4X. This little card is a real surprise.

I wish I had purchased a Radeon instead of a crappy GeForce2MX back when I had the chance!
 
what type of radeon ? (edit: radeon ve)

i had a gf2mx and thought it was a great card sure it was slower than the standard gf2 but it still had all the features - not like the travesty of gf4ti -- gf4mx
 
Last edited by a moderator:
( for some reasone the forum wont let me paste the text below into my post above)

regarding hyperz found this quote : (you dont say which o/s your using)

" Perhaps that's why the Radeon's Win98 drivers leave HyperZ disabled in Direct3D. (I'm not sure what it does in OpenGL.) Apparently, Hierarchical Z isn't effective enough in many scenarios—even slowing things down, it would seem—so ATI has chosen to limit its use."
 
what type of radeon ?

Radeon 7000 / VE. Initial drivers were very bad, but later, this card was able to beat MX in most games (of course it must be reference card - 183/183, 64bit DDR and not like those horribly crippled versions, which most OEMs sold...)
 
found another qoute

"As I can judge the RADEON VE is received by cutting two times the rasterized block, deleting the Hardware TCL block (i.e. the geomentrical coprocessor) and adding the units which output the image on the second signal receiver (the second RAMDAC, CRTC etc.)"

does that mean the radeon ve doesnt have hardware tnl ????
 
so it does run games that demand hardware tnl ???? (max payne i seem to remember was one of them)

ps: more info on hyperZ
http://www.anandtech.com/video/showdoc.html?i=1517&p=4

"I wish I had purchased a Radeon instead of a crappy GeForce2MX back when I had the chance!"

Actually i dont think you would - that was the time that ati's drivers were famously bad...
 
Last edited by a moderator:
I didn't try it, but it's very likely. 3DM01 reports HW TnL :) And this emulation seems to be pretty fast - faster than Kyro's EnTnL...

3DM01 / high-polygon count / 8lights (XP1700+):

R7000 (emulation): 2,7
GF2MX (HW): 2,8-2,9
V4 (SW): 2,3-2,4
Kyro2 (emulation): 2,1
 
The drivers emulate T&L (also VS 1.1 but not PS) so it is very CPU dependant.

I always knew that the Radeon VE/7000 was somehow a crippled product; my regret is that I didn't purchase a Radeon SDR instead of a GeForce2MX when I had the opportunity.
 
As I said before
"Actually i dont think you would - that was the time that ati's drivers were famously bad..."

Im sure now its a great card Now, but i remember a constant stream of people entering the irc gaming channel i used to lurk in asking for help with radeon driver related problems infact i got quite good at helping people even though i didnt own the card :D
 
OK, so I tried Villagemark:

The test platform is an old P4 Northwood 2.0GHz (i848 133MHz DDR, Windows XP) The benchmark was run with the following settings: 1024x768x32, no trilinear, 1800 frames benchmark

With HyperZ enabled: 32 With HyperZ disabled: 31

disabling S3TC in the command line causes a far greater performance drop: 26fps with or without HyperZ. I'm startring to wonder if the Radeon VE is really bandwidth constrained after all... :???:
 
Back
Top