![](/Content/images/logo2.png)
Original Link: https://www.anandtech.com/show/576
NVIDIA GeForce 2 GTS FSAA Update (Detonator 5.30 Drivers)
by Anand Lal Shimpi on July 7, 2000 12:00 PM EST- Posted in
- GPUs
Performance wise, NVIDIA's GeForce2 GTS does have the Voodoo5 5500 beat. There's no way you can argue that statement, but once you factor in FSAA performance and image quality the GeForce2 GTS all of the sudden loses its appeal. When the GeForce2 GTS was released its 5.16 drivers wouldn't even support FSAA in Direct3D. Later on with the release of the Detonator 5.22 drivers the GeForce2 GTS gained FSAA support but the performance was far from satisfactory, by this point we just assumed that if you really wanted FSAA support the Voodoo5 would be your best choice.
As we mentioned in our Detonator 5.22 investigation, the performance of NVIDIA's D3D FSAA implementation could most definitely improved with some better drivers. With the release of the leaked Detonator 5.30 drivers we figured that it was about time to revisit NVIDIA's Direct3D FSAA performance but in doing that we discovered something else that applied to their FSAA under OpenGL games.
First let's take a quick look at how NVIDIA's FSAA works in general as well as under OpenGL:
Taken from our NVIDIA GeForce2 GTS Review.
NVIDIA’s FSAA works by using a method called Supersampling. The way supersampling works is that the scene is actually rendered at a higher resolution and then scaled down to the desired resolution before being displayed. As you already know, the higher the resolution you run at, the fewer aliasing effects are present since you have more pixels on the screen to naturally remove those effects.
Under OpenGL applications, NVIDIA’s FSAA can work in one of three modes (much like how 3dfx’s FSAA can be run in either 2-sample or 4-sample mode). The three FSAA settings are as follows:
· 1.5 screen resolution (lowest quality)
· 2x screen resolution, with LOD’s (MIPMaps) at the native game resolution
· 2x screen resolution with MIPMaps at the 2x resolution. (highest quality)
So if you’re running a game at 640 x 480, the first FSAA option will render the scene at 960 x 720 (640 * 1.5 x 480 * 1.5) and then scale it back down to 640 x 480 for displaying.
Depending on who you ask (3dfx or NVIDIA) you will get varying responses as to exactly what each of these modes looks like. 3dfx will have you believe that their 4 sample FSAA looks better than all of these modes while NVIDIA will have you believe that their third FSAA setting looks the best.
The final decision is up to you, but unfortunately, the 5.16 drivers we used for our GeForce 2 GTS tests would only allow us to enable the first setting, which renders each scene at 1.5x the screen resolution so we could only provide you with screen shots at this setting and not the other two settings.
The last paragraph has held true with every driver release until now. The Detonator 5.22 drivers, while adding support for FSAA under Direct3D failed to include the support for the other two modes of FSAA under OpenGL. The Detonator 5.30 drivers managed to fix this feature and now GeForce2 GTS owners have the ability to adjust their FSAA quality under OpenGL as well as under Direct3D. So how do you manipulate the FSAA level for OpenGL?
FSAA in OpenGL
Unlike the Detonator driver's Direct3D FSAA support, enabling FSAA in OpenGL isn't done via a slider. Instead there is first a box that must be checked in the control panel as can be seen in the screen shot below:
After enabling FSAA the default mode should be the 1.5 screen resolution (lowest quality)" setting we described in the previous page. In order to switch between the three settings you're going to have to do a bit of registry editing. Let's take a look at what key you need to modify.
First you have to run Window's registry editor (regedit) and perform the following steps:
1. Open the key, [HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\Display\0000\NVIDIA\OpenGL]
by navigating down to it in the left hand pane*.
2. Locate the 'FSAAQuality' value in the right hand pane
3. Double click on the 'FSAAQuality' value to change it.
*Note: The '0000' part of
the key may be 0001, 0002, 0003 etc... depending on which device your video
card is. Generally the highest number present will correspond to the video card
you currently have installed in your system.
Setting the 'FSAAQuality' to 0 corresponds to "1.5 screen resolution (lowest quality)", setting it to 1 corresponds to "2x screen resolution, with LOD’s (MIPMaps) at the native game resolution" and as we mentioned before, setting it to 2 corresponds to "2x screen resolution with MIPMaps at the 2x resolution. (highest quality)."
FSAA Image Quality in OpenGL
The most important metric with which to gauge FSAA "performance" is with the resulting image quality. For that, let's head to the screen shots.
All screenshots were taken using Hypersnap-DX available at http://www.hyperionics.com
We've highlighted the key points to look for, but in order for you to see the true difference in the images you'll want to download the uncompressed Targa files which are about 900KB in size.
FSAA Disabled - GeForce2 GTS
FSAA Setting 0 (lowest quality) - GeForce2 GTS
FSAA Setting 1 - GeForce2 GTS
FSAA Setting 2 (highest quality) - GeForce2 GTS
We couldn't really tell that much of a difference between the three FSAA settings, especially under Quake III Arena, however there was a clear difference between turning FSAA on and leaving it off. For comparison we've provided the same shots on a Voodoo5 5500. The shots appear to look more "washed out" than the NVIDIA shots because 3dfx has yet to include MIPMap LOD (level of detail) settings in their drivers that would help to improve the image quality in situations such as the one below.
2 Sample FSAA - Voodoo5 5500
4 Sample FSAA - Voodoo5 5500
While looking a bit more washed out than the GeForce2 GTS (because of the aforementioned lack of any MIPMap LOD slider in the drivers), the Voodoo5 does seem to have an advantage when it comes to FSAA but it is just a slight one under OpenGL. One could argue that at the middle and highest quality settings (1 & 2), the GeForce2 GTS looks just as good as the Voodoo5 5500 with FSAA enabled.
Unfortunately FSAA in OpenGL doesn't matter nearly as much as FSAA in Direct3D which we will get to shortly.
GeForce2 GTS
@ 640 x 480 - No
FSAA - FSAA
Setting 0 - FSAA
Setting 1 - FSAA
Setting 2
3dfx Voodoo5 5500 @ 640 x 480 - No
FSAA - 2X
FSAA - 4X
FSAA
FSAA Performance in OpenGL
Now that you've seen the visual results of enabling the various FSAA modes on a GeForce2 GTS, let's take a look at the performance of NVIDIA's FSAA solution.
The performance difference between the last two settings isn't great at all. This could be due to one of two things, either rendering the MIPMaps at 2X the native resolution does not incur a large performance penalty or the last setting is not fully implemented in the 5.30 drivers.
At 16-bit color the GeForce2 GTS's 1.5 x 1.5 setting is faster than the Voodoo5 5500 with FSAA off, however the move to 32-bit color hurts the GeForce2 GTS quite a bit. The Voodoo5 5500's 4X FSAA is the slowest setting out of the bunch but depending on your perspective it is potentially the best looking.
FSAA in Direct3D
Getting FSAA to work in Direct3D is a bit less complicated than getting it to work under OpenGL.
Here are the options NVIDIAs FSAA offers in D3D:
· 1x supersampling with MIPMaps at the backbuffer (2X higher) resolution.
· 2x supersampling with MIPMaps at the native game resolution
· 2x supersampling with MIPMaps at the backbuffer (higher) resolution.
· 2x supersampling with MIPMaps at the backbuffer (higher) resolution & special filtering algorithm
· 3x supersampling with MIPMaps at the native game resolution
· 3x supersampling with MIPMaps at the backbuffer (higher) resolution
· 4x supersampling with MIPMaps at the native game resolution
· 4x supersampling with MIPMaps at the backbuffer (higher) resolution
The above settings can be activated using the slider pictured below which is a part of NVIDIA's Detonator control panel. This slider has been with us for a few driver revisions now so it's nothing too special.
FSAA Disabled
FSAA 1x Resolution 2x MIPMaps
FSAA 2x Resolution 1x MIPMaps
FSAA 2x Resolution 2x MIPMaps
FSAA 2x Resolution 2x MIPMaps HQ
FSAA 3x Resolution 1x MIPMaps
FSAA 3x Resolution 3x MIPMaps
FSAA 4x Resolution 1x MIPMaps
FSAA 4x Resolution 4x MIPMaps
FSAA Performance in Direct3D
Because of the lack of any decent benchmarks in Direct3D games, we resorted to using 3DMark in order to illustrate the performance penalty incurred by enabling the various FSAA settings.
There are a couple of interesting points to make here. First of all, anything above 2x2 FSAA (the 4th slider setting) makes the performance of the GeForce2 GTS drop below the 30 fps mark at 640 x 480 which is borderline playable for most users, especially for a $300 card.
At the same time, the high quality 2x2 setting ( 2x2 FSAA (HQ) ), performs almost as well as the regular 2x2 FSAA setting yet looks better which makes it the ideal setting if it works properly in all situations, otherwise the next best choice is the 2x2 setting.
Notice that as the resolution increases, the performance of the various settings seems to level off. This is because of the fact that at the higher resolutions the GeForce2 GTS runs out of memory, forcing it to drop down to a lower FSAA setting. Of course, that means the performance does not change as can be seen in the graphs. The reason it runs out of memory is that it is rendering the image at 4x the resolution in both the horizontal and vertical directions at the highest setting. That means a 16x increase in total pixels - much more than a 32MB GeForce 2 GTS can hold in memory.
We get a similar situation under the Game 2 benchmark of 3DMark 2000, however this time even the 3x3 FSAA setting is still "playable" at 36.2 fps at 640 x 480.
Here you can see the synthetic fill rate numbers. The huge drop in fillrate as the FSAA quality is turned up simply illustrates the additional raw power required to perform FSAA. Fillrate is not actually being lost, but rather it's being devoted to performing FSAA. Once again, we see that 32MB is simply not enough for NVIDIA's highest FSAA settings, forcing the driver to drop back to a lower quality setting.
Conclusion
The FSAA performance of the GeForce2 GTS has definitely increased not to mention that because of the 'FSAAQuality' settings in the registry its flexibility in OpenGL is much improved as well. While it's arguable that the GeForce2 GTS' FSAA is comparable to that of the Voodoo5 5500, we will have a head to head FSAA comparison next week that takes into account much more than what you see here today. The main purpose of this article was to alert GeForce and GeForce2 GTS owners that there actually have been some driver improvements that could help your FSAA performance both under OpenGL and Direct3D.
Until next week, enjoy.