Pixel/Vertex Enhancements
NVIDIA has integrated a number of improvements in their pixel and vertex pipeline units. The units were redesigned to deliver higher computational capability per clock with lower latency. Each of the pipelines were widened and deepened. Besides these general improvements, NVIDIA has also made enhancements specific to the pixel and vertex units. Let’s provide a little background info first…
For their second generation shader model 3.0 card, NVIDIA has incorporated a number of improvements into the pixel and vertex shading units. As the use of programmable shading has grown more pervasive, the shaders themselves have grown more complex. Whereas early shader programs consisted of just a handful of instructions, more recently they’ve grown from just a few to 96, and are now up to hundreds of instructions per pixel in the latest games. This is due in large part to the rapid adoption rates of 2.0b and 3.0 hardware. Besides the increase in shader complexity, more complex pixels are generated per pass.
Basically, today’s programs require far more math per pixel than the first generation of programmable titles. With this in mind, NVIDIA emphasized delivering more math per pipeline as well as more math per clock in GeForce 7800 GTX’s design.
![NVIDIA GeForce 7800 GTX Performance Preview [ Another shot of Luna @ 1024 x 768 ] > View Full-Size in another window.](images/07-s.jpg) Another shot of Luna
|
|
![NVIDIA GeForce 7800 GTX Performance Preview [ The inspiration for Mad Mod Mike was Pimp My Ride on MTV @ 481 x 768 ] > View Full-Size in another window.](images/08-s.jpg) The inspiration for Mad Mod Mike was Pimp My Ride on MTV
|
|
Enhancing the pixel and vertex shaders
For GeForce 7800 GTX, NVIDIA analyzed over 1,300 of the most commonly used shaders. NVIDIA then made architectural decisions based on this data. For instance, one trait NVIDIA discovered is that multiply-add (MADD) operations are one of the most commonly used math functions today. These computations are commonly used for lighting (for example, in effects like refraction and reflection, or embossing), normal map calculations (adding depth, height via normal maps rather than geometry to what are actually flat objects), and many other operations.
NVIDIA doubled the number of multiply-add instructions in each pixel pipe for GeForce 7800 GTX, increasing throughput for the pixel shader. This allows the 7800 GTX to process up to 8 FP MADDs per clock in each pixel pipeline, twice that of GeForce 6800 Ultra.
NVIDIA has also incorporated enhancements to the 7800 GTX’s vertex shading engine. The vertex units were rebuilt to speed up geometry processing (an increasingly common example of a geometry-intensive operation would be shadow rendering). For instance, triangle setup is over 30% faster. This shortens the time required to setup complex geometry processing, improving the throughput of the 3D engine.
![NVIDIA GeForce 7800 GTX Performance Preview [ Mike styling with his jetpack @ 481 x 768 ] > View Full-Size in another window.](images/09-s.jpg) Mike styling with his jetpack
|
|
![NVIDIA GeForce 7800 GTX Performance Preview [ A closer shot of Mike @ 1024 x 768 ] > View Full-Size in another window.](images/10-s.jpg) A closer shot of Mike
|
|
According to NVIDIA, all these enhancements add up to 50% more individual pipeline efficiency clock-for-clock. When you factor in the additional pipes that have been added, the 7800 GTX delivers a considerably performance improvement over its predecessor.
Texture engine
In order to improve texture performance, NVIDIA has improved texture fetching, allowing the graphics core to grab and access textures faster. This is particularly important for dealing with large textures. Other improvements NVIDIA has incorporated include a 30%+ reduction in cycle time latencies in the fixed-function setup stages, and similarly cut cycles in gamma adjusted rotated grid AA.