GeForce3: Next Generation Video Acceleration
by Len "Viking1" Hjalmarson
Product Name: GeForce3
Category: 3D Graphics Processing Unit (GPU)
Release Date: End of March, 2001 (Tentative)
Links: Video Card Article Index
Article Type: Info Preview
Article Date: March 13th, 2001
Since November of 2000 information had been gradually leaking about the performance of NVIDIA's next generation 3D accelerator, formerly designated the NV20, but now called ( surprise, surprise ) the GeForce3. The development of this latest generation of graphics boards is closely tied to Microsoft’s most recent DirectX graphics API, DX8.
The key differences in this next generation of graphics processor can be divided into two categories: features, and power. Obviously, every generation of graphics chip improves in raw processing power. But GeForce3 is more revolutionary than evolutionary. For the first time, the graphics processor will be capable of executing programmable instructions, just like the CPU.
It’s DX8 that is key to these new features. Without the software interface, programmability in a graphics chip would be wasted. Here are descriptions of new features and performance enhancements of DX 8.0 relevant to GeForce3 (from the Microsoft website):
The addition of programmable shaders for vertex and pixel operations provides the framework for real-time programmable effects that rival movie quality. This programmability gives freedom to game developers by allowing them to implement whatever effect they see fit with the programmable pipeline. This means that every bit of hardware horsepower can be put to use to accomplish only the tasks specified by the developer. The chip can constantly be maximized to accomplish pre-defined tasks.
- Programmable vertex processing language
Enables developers to write custom shaders for morphing and tweening animations, matrix palette skinning, user-defined lighting models, general environment mapping, procedural geometry operations, or any other developer-defined algorithm.
- Programmable pixel processing language
Enables programmers to write custom hardware-accelerated shaders for general texture and color blending expressions, per-pixel lighting (bump mapping), per-pixel environment mapping for photo-realistic effects, or any other developer-defined algorithm.
- Multisampling rendering support
Enables full-scene anti-aliasing and multisampling effects, such as motion blur and depth-of-field blur.
Think of a powerful racing vehicle with specialized tires. The best snow tires in the world are on this vehicle, but suddenly it’s a hot and sunny day. If the tires were programmable, the tread would change to take advantage of the new conditions. Programmable graphics chips are sort of like those tires. The most powerful car in the world isn’t going to perform very well if the tires are wrong for the track conditions.
Other improvements to DirectX include support for texture compression and a new particle system. Smoke, clouds, and weather effects will be easier to produce, look better, and use less hardware horsepower. DirectSound has also been improved, and DirectPlay Voice has been added to DirectPlay, the component that handles network functions.
Shades of 3dfx
If you recall some of the key features in the 3dfx t-buffer, some descriptions above may suddenly sound familiar. Custom shaders, FSAA, multisampling effects like motion blur and depth of field blur – these were all key features espoused by 3dfx t-buffer. It sounds like GeForce3 is merging two technologies, and in some ways, that is correct.
The DirectX APIs are always written after careful consultation with game developers and hardware designers. DirectX 8 represents the evolution of graphical abilities on our PCs, and new hardware is designed to take advantage of new features.
The big leap in DX8 over DX7 is that it defines programming languages and introduces vertex and pixel shaders
that allow developers to write programs to tell video cards how to act. Games that are written specifically for DX 8 will attain more realistic visual effects and performance gains as high as 50%, and that would be given current hardware specs (clock speeds and raw throughput). However, only video hardware with DirectX 8 compliant graphics processors, such as GeForce3, are equipped with programmable vertex shader and programmable pixel shaders and thus have the ability to use these features.
Getting the Point
Many gamers believe that triangle production is the key component of a graphics engine. In reality, video cards operate on the point of the triangles, called vertices. The DX8 vertex shader is a way to run programs that operate on the point of the triangle, or the vertex data.
Let’s say that a simulation developer isn’t very interested in terrain, but really wants to develop a fantastic air environment, with stunning clouds and lighting effects. He is also interested in creating the most incredible reflections and explosions. With the programmable vertex shader he can easily make that tradeoff. The geometry calculations will be performed entirely in hardware, where with hard-wired Transformation and Lighting that would not have been possible.
The process isn’t terribly complicated. Three vertices form a typical triangle polygon. These vertices (think of them as complex coordinates) are fed into the vertex manipulator. Once inside, each vertex can be manipulated in any manner, the limits being the imagination of the programmer. When the vertices are output, they could have new coordinates, new colors, a different transparency value, and more. Equally significant, the programmer can choose which vertex he wants to change. He can change all of them, a selection, or a single one. When the next three vertices arrive in the manipulator, the designer can choose to do something completely different. The result is infinite special effects, applied to an entire object or to chosen parts of the object.
The range of applications for this technology is very broad. Vertex programming can be used to create characters that move more realistically, with joints and wrinkles showing and changing reflectance. Faces will express emotion, with creases in appropriate position. Geometry deformations will allow objects that were previously static to move, without any load on the CPU. Think of a flag in the breeze, or clouds deformed by wind. And curved surfaces (those darn octagonal engine nacelles) will now have no performance hit.
Pixel shaders are programs that are run on each pixel before it is drawn to the screen. The incredible part is that every texturing feature that we have previously seen in DirectX can be performed using pixel shaders. Many of these features previously took multiple rendering passes, which is why effects like reflections and environment mapped bump mapping placed such a load on our hardware. Using pixel shaders all the calculations can be done BEFORE the pixel is ever drawn. The savings on bandwidth can be used for other tasks.
Naturally, the first simulation releases we see will only benefit partially from DX8. It won’t be until late 2001 and even into 2002 that we’ll see the full benefit of new hardware like GeForce3.
But that isn’t the whole story either, because GeForce3 has an entirely new architecture as well as a new memory interface. The triangle processing speed of GeForce 2 was roughly 25 million/sec. GF2 Ultra reached 31 million triangles p/s, and GeForce3 reaches 40 million triangles p/s (AMD Athlon 1.1 GHz, Detonator 6.31).
GF2 vs GF3
There are other variables in the performance of GeForce3, however, including the complexity of the application. Given varying degrees of DX8 support, scenes with simple complexity (simple geometry and little depth complexity) will notice the smallest performance benefit (as little as 10% over GeForce 2 Ultra). Scenes with medium complexity will notice as much as 50 - 75% performance increase, and highly complex scenes written for DX8 (many small triangles, complex geometry and lighting) will benefit with up to 2x the performance of GF2 Ultra.
One of the key areas of performance improvement is anti-aliasing. GeForce 2 used supersampling, a brute force approach that incurred a severe performance hit. GeForce 3 uses multisampling in hardware, and is 4 times faster than with GeForce 2, with no performance penalty. According to NVIDIA the GeForce3 performs over a quintillion operations per second.
Image quality will greatly improve as new games that are DX8 compliant are released. We’ll even see per pixel bump mapping, giving images superior to environmental bump-mapping, a procedure that would bring previous generations of graphics hardware to its knees.
Note that GeForce 2 is billed as DX8 “compatible,” and not DX8 “compliant.” Only the newest generation of 3d accelerators will be DX8 compliant, while previous generations are merely compatible.
When and What?
These specifics are the most difficult to find at this stage, but the GeForce 2 line has reached its maximum potential. We expect that GeForce3 will be on the shelves in late March.
GeForce3 will start at 300MHz and .15 microns. The GeForce3 is a big chip, with 57 million transistors--more than twice as many as the GeForce2 GTS and 15 million more than the Pentium 4. Larger chips are more expensive to produce and run hotter, the reason for the .15 micron production process. The 64MB of memory used in the graphics card is also costly, explaining the forecast $500 introduction price. We’re curious to know if GF3 will also ship with 128MB.
Early adopters always pay more, and the boards will likely fall to $400 by the summer, and competition will eventually drive those prices even lower as more hardware vendors release competing versions of the boards.
Matrox has confirmed that they will release a new video board this year, but it sounds like we may not see the new product before September. Naturally, their new offering will be fully DX8 compliant. Similarly, ATI is hard at work on a new design for DX8 compliance. With the death of 3dfx the 3d accelerator market is now a 3 way race.
© 1997 - 2001 COMBATSIM.COM, Inc. All Rights Reserved.