facebook rss twitter

Review: NVIDIA GeForce 8800 GTX

by Ryszard Sommefeldt on 8 November 2006, 19:08

Tags: XFX GeForce 8800 GTX, NVIDIA (NASDAQ:NVDA)

Quick Link: HEXUS.net/qahaj

Add to My Vault: x

Image Quality Analysis - AA modes

To test and have a look at AA image quality in a shipping game, we used Oblivion, both for its support by G80 of its 'HDR' mode plus MSAA (when applied in the driver of course) and the fact it looks pretty damn sweet to boot. As mentioned before, G80 supports traditional multisampling but also an extra mode called coverage sample AA. CSAA will take extra binary coverage samples in the subpixel, to determine if triangles intersect the subpixels at those sample points. If they do, the sample locations are used to influence the sample resolve and thus the colour blended into the framebuffer (or so I understand at least, NVIDIA are somewhat vague).

Here are the tallies of multi and coverage samples you can find in each driver mode adjustable by the NVIDIA Control Panel.

Mode / Counts Multi (C+Z) samples Coverage samples
4x 4 4
8x 4 8
8xQ 8 8
16x 4 16
16xQ 8 16

It's a somewhat annoying nomenclature, focussed on the CSAA side of things. For example where 8x means 8xCSAA, not 8xMSAA as customers might probably be thinking. I'd love to see them renamed somehow, just so there's no confusion (something like "16x (8xMS, 16xCS)" maybe). Coverage sampling isn't a 100% robust technique, however, and fails (as you can guess) when no coverage is detected but triangles do actually intersect the pixel and thus contribute (no matter how small) to final pixel colour. We also think that the hardware likely (ab)uses stencil data channels to store the coverage sample data. Therefore if your application requests stencil storage and fills it up with unique stencil values such that there's no honest room to keep your x-bits of CSAA data, then CSAA falls back to multisampling. Whereas in most applications where all stencil samples likely have the same value (so the hardware is just storing one and not taking up all possible bits), or it doesn't even request it at all, CSAA can work freely.

Finally, the astute will notice that since the CSAA samples are mostly cheap to take and have the hardware consume, NVIDIA's claim that you can get up to 16xMSAA quality for around 4x performance can hold up at least in theory, depending on what's going on. We'll test the practice in a popular game shortly.

First though, their impact on image quality. We crop the same selection out of an Oblivion screenshot at each AA level (forced in the CP, HDR enabled by the game) and zoom 2x.

0x


4x


8x


8xQ


16x


16xQ


Discussion

As the multisample count goes up, so does the quality of the polygon edges that require AA. The true 8xMSAA modes (8xQ and 16xQ) show a noticeable difference up close compared to their supposed quality-equivalent brethren (8x and 16x), although 8x does look better (marginally) than 4x despite the exact same multisamples being taken. CSAA is having a minor but demonstrable effect in our test scene showing that it works, although it's always desirable to take as many multisamples as performance allows for maximum image quality.

8xQ and 16xQ further differ by their coverage sample count, and image quality there is different too. 16xQ does look better (although marginally again) but one also has to remember that the coverage sample method isn't foolproof and the hardware will automatically drop down to the underlying MSAA mode if it has to, based on the pixel data and subpixel coverage in particular.

The driver controls and AA patterns themselves are also worth covering quickly, so we'll do so before examining the performance implications of each AA mode.