Earlier this week, NVIDIA's Detonator driver version 5.08 was leaked to the end user community. It was quickly learned that two major features were added to these drivers: texture compression and full scene anti-aliasing. To get the scoop on these new features, I contacted NVIDIA's Nick Triantos, who heads up their 3D Software Group. I had a question and answer session about the drivers all lined up, but Nick respectfully declined the interview. Nick stated that these drivers should have never been leaked and that they are NOT at all ready for use by their customers. Nick went on to say that the leak was a major headache and had to take time from his busy schedule to do some damage control.
Word on the street was that the leaked Detonators were still in the alpha stage of development, but curiosity got the better of me and I installed them for testing purposes only. Web sites began reporting that these drivers had support for S3's OpenGL texture compression algorithm S3TC. How did NVIDIA manage to add support for S3TC? Well, back in February, NVIDIA and S3 agreed to end pending litigation between themselves and entered a broad cross-license agreement.
NVIDIA took the ball, ran with it, and quickly incorporated S3TC in their Detonator drivers. Within a couple of days we witnessed the benefits of S3TC as Brian Evans from 3DGPU did a great job in covering texture compression in Quake 3. Using a 32MB GeForce, Brian realized a phenomenal increase in performance of 297% on a level that's been known to choke 32MB cards while running fine on cards with 64MB of memory. Of course, this represents a rather extreme example, but it clearly illustrates the benefits of texture compression.
Let's come down to earth a bit and look at the performance of these drivers on my system. The following results are based on using Quake 3 high quality settings on a P2-450MHz and Annihilator Pro with sound and vsync disabled:
Quake 3 - High Quality Settings - Demo001
Detonator 3.68 vs Detonator 5.08
The Detonator 5.08 drivers are showing a minor increase in performance over the 3.68's. This is more than likely attributed to transform and lighting code optimizations as NVIDIA's Rich Black reported over at the Firing Squad.
An additional benefit of S3TC is that Diamond Multimedia created a set of exclusive Quake 3 levels to showcase the technology. To use Diamond's S3TC levels you will need the special Quake 3 executable which you can download by clicking here. Also, be sure to change the r_ext_compress_textures value in the Quake 3 q3config.cfg file to 1, which enables S3TC (or 0 to disable).
How about a few benchmark results with texture compression enabled:
Quake 3 - High Quality Settings - Demo001
Texture Compression Results
The benefit of texture compression is paying off in higher resolutions with an increase in performance of around 4-8%.
Let's wrap up this section by overclocking the Annihilator Pro to 145MHz/345MHz and combining the results thus far with the overclocked results (which has texture compression enabled)
Quake 3 - High Quality Settings - Demo001
Overclocking Results
Are these drivers kicking ass or what?
The second feature NVIDIA added to the Detonator 5.08 drivers was full scene anti-aliasing (FSAA). NVIDIA confirmed a few months ago that FSAA would be part of a driver set that would be out close to the release of the NV15. There are a variety of software anti-aliasing algorithms, which function as a blending technique on points and lines to create a smoother looking appearance (getting rid of jagged lines). These lines are especially noticeable at lower resolutions, on large monitors, and with color differentials between overlapping polygons.
To enable FSAA the following registry entry must be updated:
/hkey_local_machine/system/currentcontrolset/services
/class/display/oooo/nvidia/opengl - and change EnableFSAA to 1.
For example, compare the following images taken from Quake 3 and Unreal Tournament using the Detonator 5.08 drivers. You will need to view the full size image, by clicking on the thumbnail, to see the differences.
FSAA Disabled
FSAA Enabled
FSAA Enabled
In the Quake 3 images, the smoothness of the edges on the steps and rocket launcher is apparent as the stepping effect has been reduced with FSAA. For some really cool looking pics, I recommend checking out Christopher Gordon's collection of Quake 3 FSAA screenshots over at Planet GeForce.
FSAA Disabled
FSAA Enabled
In the Unreal Tournament images, notice the edges of the flag, pistol, and lights.
While FSAA may look attractive, it comes at a substantial cost in performance. FSAA is accomplished in part by rendering images internally at a high resolution and then down sampling them - all in real-time. This technique calls for tremendous fill-rates on a graphics card for acceptable performance:
Quake 3 - High Quality Settings - Demo001
Full Screen Anti-Aliasing
On the other hand, as fill rates of graphics cards increase, games can be played at higher resolutions where the effects of aliasing are less severe. Half-Life runs great at 1280x960 and at that resolution, the effects of aliasing artifacts are less noticeable compared to a lower resolution (once again, please view the full size image):
| 640x480 |
1280x960 |
 |
|
This article provided a peak at a couple of major enhancements we should see with NVIDIA's next official driver release. It's great that we are getting more out of our hardware due to the fine work of Nick Triantos and his crew. They are definitely among the best in the business.