NVIDIA's Optimization Guidelines
Optimizations can be differentiated into two areas: Those that solve game bugs and issues plus those that optimize game performance. Falling under the former category are games such as Splinter Cell, with which FSAA is not possible because of its 3D engine. Here, the driver hinders the use of FSAA since it would lead to image errors.
In the category of performance optimizations, there are optimizations with adaptive anisotropic filtering, for example, that are created especially for a particular game.
The rules that NVIDIA has set up for itself are simple and clear:
- An optimization must produce the correct image
Here NVIDIA tries to ensure that optimizations are not made at the cost of image quality. The image rendered must display that which should be displayed. Thus, performance gains that compromise visible image quality are ruled out.
- An optimization must accelerate more than just a benchmark
This targets the possibility of deliberately accelerating the benchmark modes (timedemos) in games, without the user actually being able to get this extra performance in the corresponding game. Optimizations that NVIDIA used in earlier drivers in 3D Mark 2003, such as clipping frames and unperformed buffer clears, fall under this rule.
- An optimization must not contain a pre-computed state
"Pre-computed state" means processes and calculations that are already prepared ahead of time. This rules out the use of pre-calculated data in benchmarks.
In addition to automatic checks during which the new drivers rendering results are compared to a "gold standard" image, NVIDIA is also having it engineers do manual checks as a final step. If a noticeable loss to image quality can be determined, then the optimization is rejected.
Among graphics cards, driver optimizations are standard, and there is nothing wrong in using them, either. Despite standards such as Direct 3D and OpenGL, the graphics chips on the market differ from one another significantly according to their architectures.
Even the sequence of commands in a pixel shader program can have a significant effect on the performance of a 3D chipset, depending on how large the internal caches and registers are. In this situation, an optimization makes sense and is appropriate - as long as the image quality doesn't suffer because of it. With the new optimization guidelines, NVIDIA makes sure that this does not happen. After what happened with 3D Mark 2003 at the beginning of the year, this step is the only right thing to do in order to regain the trust of skeptical users.