Unified PipelineWith the G80, NVIDIA is the first video card manufacturer to introduce a unified pipeline. This approach has many benefits, for example it increases performance and removes potential bottlenecks.
This is how it has been, there is a dedicated part of silicon to do each of these tasks individually.
On the G80 this is completely different, there is a single high performance calculation unit that handles all the tasks.
This slide displays two scenarios that could happen with the old architecture. The first image is a highly complex scene made up from a lot of triangles (= vertices). Since you have only four vertex shaders, those are busy all the time and the eight shader processors you have are sitting idle.
The second image shows the exact opposite. You have a scene which is mainly shaders and just very simple geometry. Here you have the shaders doing all the work, while the vertex shaders are waiting for more work. In either case you have unused hardware, which means wasted performance.
Here you can see how the unified pipeline works. There are 12 blocks that can be assigned to do either vertex or shader load. Depending on the application this means that all 11 blocks do vertex calculations, and just one block does the shaders - or it is the other way round. Either way, you always see all 12 blocks utilized, giving you the best possible performance.
The unified pipeline is independent of the graphics API. This means that it will be utilized by the DirectX9 drivers as well as the OpenGL drivers for the GeForce 8800. Of course the biggest gains from this are to be expected with DirectX 10, once developers start actively developing for it.
This slide shows how different game scenes affect the balancing. The tested game is Company of Heroes. In a scene where you see only few complex objects, the vertex count is low, that is why the Pixel Shaders can use more processing power to give you a higher frame rate. In the second screenshot you see a lot of polygons, here the Vertex Shaders are used more than in the first frame.