| Initial Performance Impressions
|
NVIDIA's goals for the GeForce3, which they have delivered on, can be summed up as follows:
- Memory bandwidth efficiencies - same memory clock speed as the GeForce2 Ultra
- High quality antialiasing - Quincunx antialiasing versus supersampling
- Embrace DirectX 8 features - Programmable graphics processing unit
In the following pages, you will see each of these accomplishments backed up with benchmarks and screenshots. This preview will be updated with additional tests during the next few weeks. While I concentrated on the areas where the GeForce3 excels, there are cases where it's not faster than the GeForce2 Ultra. Early reviews have already point that out such as AnandTech's.
One final note which may be cause for concern to overclockers. I could only run the GeForce3 at a 105MHz front side bus speed on the Intel 815E chipset based Asus CUSL2 motherboard. With the GeForce2 Ultra, I've been running at 120MHz. However, this is more than likely due to the very early revision of the reference GeForce3 board that NVIDIA provided us with.
Note that all benchmark results that appear in this preview are based on both the GeForce2 Ulta and GeForce3 cards running on a 105MHz front side bus. Here's a rundown of the system that was used in testing.
- Pentium 3-700E @735MHz (105MHz FSB)
- 256MB Mushkin PC150 RAM
- Asus CUSL2 Motherboard (i815E Chipset)
- NVIDIA Reference GeForce3 (AGP)
- NVIDIA Reference GeForce2 Ultra (AGP)
- Default Core and Memory Speeds
- Detonator 3 Driver Version 11.01
- Vsync Disabled
- Sound Disabled
- Windows 98 First Edition
- DirectX 8.0
Version 1.17 of Quake 3 Arena and Demo001 are used to begin the performance tests. The initial results are based on the standard high quality settings which include 32-bit color and 32-bit textures. The remaining settings are as follows:
- Medium Geometry Detail
- Default Texture Setting
- Texture Compression Disabled
- Trilinear Texture Filtering
Each set of benchmark result is based on enabling a graphics feature in Quake 3 that improves image quality. This allows us to determine the affect the particular setting has on the performance of each card.
Demo001 - High Quality Settings with no Sound
Our first graphics tweak deals with texture compression. The Detonator drivers support S3TC texture compression which decreases the amount of texture data being sent across the graphics sub-system and results in increased performance. By encoding texture data and using a lookup table, texture compression can represent a texture map with fewer bytes of data.
However, there are some drawbacks with texture compression and image quality in Quake 3. There are instances when the compression scheme doesn't translate optimally as can be seen with the following screenshots from the sky in Quake 3. With texture compression enabled, the effects of color banding are apparent as the transition between colors isn't as smooth as the screenshot with compression disabled.
| Texture Compression Enabled |
Texture Compression Disabled |
 |
 |
Earlier versions of Quake 3, enabled texture compression by default. The console variable to manipulate texture compression is r_ext_compress_textures. A value of 1 enables texture compression while 0 disables texture compression.
Demo001 - Texture Compression Disabled
The next settings we look at are maximum texture detail and high geometry. Increasing the texture detail provides immediate benefits to the graphics quality in Quake 3 as objects become visibly clearer.
| Default Texture Detail |
Maximum Texture Detail |
 |
 |
Using high resolution textures causes a significant increase in the use of graphics memory. As a result graphics cards outfitted with 64MB of memory will perform much better than those with 32MB of memory when using a 32-bit maximum texture detail setting.
Demo001 - Maximum Texture Detail and High Geometry
Note that I had planned on including results based on anisotropic filtering but I could not get it to work on the GeForce3. This section will be kept here and updated when a solution is found.
A setting that cannot be enabled directly via Quake 3, but provides the best texture filtering method is anisotropic filtering. Enabling anisotropic filtering, GL_EXT_texture_filter_anisotropic, is done under the OpenGL settings in the Detonator drivers.
| Trilinear Filtering |
Anisotropic Filtering |
 |
 |
In a very rudimentary explanation, anisotropic filtering is a mipmap filtering mode that compensates for anisotropic distortion. Anisotropy is the distortion visible in the texels of a polygon whose surface is oriented at an angle with respect to the screen plane. Unlike bilinear or trilinear filtering, anisotropic filtering measures the anisotropy and takes it into account.
When comparing the above images, you see that anisotropic filtering offers much better image quality than trilinear filtering. The textures on the walkway following the second step are much more refined and the clarity extends well past the large shadow.
Our final enhancement is increasing the smoothness of curved surfaces via the r_subdivisions variable. Decreasing the value from the default of 4 to -1, results in the use of a greater number of polygons to render curves.
| High Geometry |
Maximum Geometry |
 |
 |
In addition, the r_lodbias setting was changed from 0 to -2, which produces more rounded images in character models and objects. The r_lodcurveerror variable was also changed from 250 to 10000, which determines the distance at which curves will appear smooth. Taking a look at the above images reveals that the edges of the yellow armor and the arc above the armor are much smoother.
Demo001 - Maximum Geometry
Next Page: Antialiasing Under OpenGL