NVIDIA GeForce3 Preview
By: Mike Chambers - February 27, 2001
|High Resolution Antialiasing|
Quincunx - an arrangement of five things in a square or rectangle with one at each corner and one in the middle.
Sample - a representative part or a single item from a larger whole or group especially when presented for inspection or shown as evidence of quality.
Referred to as High Resolution Antialiasing the GeForce3 employs a new sampling technology and offers true hardware support for full scene antialiasing. We'll get back to this after taking a brief look at why full scene antialiasing is a beneficial feature.
The effects of aliasing, or jagged edges, cause a stair-step like effect on an object's edges. Through the use of supersampling, NVIDIA initially brought us full scene antialiasing to combat this undesirable graphics effect. If the pixels that make up an edge of an object are enlarged, this is the effect we get. The lower the display resolution, for example 640x480 or 800x600, the greater the amount of aliasing.
At higher display resolutions, such as 1280x1024, the effects of alising can still be seen, but are not as prevalent since additional pixels are used to render an object. The ultimate goal of FSAA is to make edges appear smoother. Since computer displays use rows and columns to project images, aliasing will occur when a line crosses the rows and columns at a slight angle.
The above smoothed line is an extreme case of antialiasing. In reality, shades of black are blended together along the outer pixels of the line in order to give us the appearance that the line is smooth.
I've included sample images from our FSAA on the GeForce2 article that illustrate the benefit to image quality when using full scene antialiasing. They are based on the supersampling antialiasing method. Note that the full size images are blurred as they were magnified to three times their original size.
OpenGL FSAA Modes
|FSAA Disabled - 640x480
|1.5 x 1.5 FSAA - 640x480
|2 x 2 FSAA - 640x480
The problem with FSAA on the GeForce and GeForce2 is the dismal performance associated with supersampling. With supersampling, the graphics processor renders the screen image at a higher resolution than the current display mode and then scales and filters the image to the final resolution before being sent to the display.
The GeForce2 GTS and Ultra provide acceptable 2x2 FSAA performance in 32-bit color at a resolution of 640x480, but moving up to 800x600 or even 1024x768 will cause a significant impact on frame rates. While different games exhibit varied degrees of performance loss when FSAA is enabled compared to Quake3 Arena, here are a series of benchmark results taken on a Pentium 3-700 overclocked to 840MHz with sound enabled.
Quake3 2x2 FSAA Performance - Demo001
So tell me more about this Quincunx thing...
The GeForce3 employs a new sampling technique for antialiasing. Based on using a Quincunx pattern to obtain multiple samples from existing pixels, the graphics processing unit will carry along these samples which are eventually used to determine a final pixel color. In order to minimize the performance hit associated with FSAA, the GeForce3 graphics processing unit has wider internal data paths which can accomidate the additional pixel data. These paths also contain the texture data for all of the samples in the pixel which will significantly reduce memory bandwidth.
The following image illustrates the use of 4x supersampling antialiasing on a single pixel. In this case, the graphics processing unit creates additional pixel samples for each rendered pixel. The amount of memory required for high degrees of supersampling is staggering. For example, when 2x antialiasing is used, the amount of memory nearly doubles in size while 4x causes the amound of memory to more than triple.
1 Pixel - 4x Sample Pattern
In comparison, the GeForce3 Quincunx mode takes existing data from neighboring pixels to compute a final pixel color. Quincunx antialiasing, which is implemented in hardware, offers image quality close to a 4x mode, with performance similar to that of a 2x mode. Because the Quincunx antialiasing mode uses samples from neighboring pixels, it balances the image quality benefit of using more input data to reconstruct the final pixel versus the performance degradation of writing more samples per pixel out to the frame buffer.
1 Pixel - Quincunx Sample Pattern
Additionally, Quincunx antialiasing requires less memory than supersampling which allows higher FSAA resolutions to be used before running out of graphics memory.
Memory Requirements For Antialiasing Display Modes
As for the performance of Quincunx antialiasing, NVIDIA has made the following results available for use. Keep in mind that information regarding the Quake 3 settings and the processor speed was not furnished. I am assuming the results are based using Quake 3's high quality settings on a 1GHz Pentium 3 processor.
Quake3 FSAA Performance - 1024x7682@32bpp
Here's a sample image from MadOnion's soon to be released DirectX 8 benchmark 3DMark2001. Quincunx antialiasing is used, along with vertex and pixel shaders, and it looks spectacular.
Image courtesy of MadOnion
Next Page: Conclusion - Part I