ATI's Optimized Texture Filtering Called Into Question

Stage Optimization And Driver

Another filter optimization that until now has been used mainly by ATi is so-called stage optimization. In this process, ATI applies trilinear filtering (or brilinear filtering with 9600/X800) only on the first texture stage (0). Stages 1-7 are filtered purely in the bilinear method.

In many games, this is not that dramatic, because the only textures on the higher stages are light maps or bump maps, which do not absolutely require full filtering. Other games, primarily Unreal Tournament, are another case. UT uses not only the base texture on stage 0 but also high-resolution detail maps on the higher stages. So in UT ATi thus saves a good deal of computing time and quality loss must be expected.

The stage optimization is active whenever anisotropic filtering is set in the ATI driver menus. This is the case for most games, since only a very small number of games allow you to set anisotropic filtering. As you can see, the X800 Pro achieves a 12% performance boost in UT2004 through this optimization (plus an unknown amount due to brilinear filtering instead of trilinear).

However, the driver only exhibits this behavior when anisotropic filtering is forced by the control panel in the 3D driver menu. If you leave the setting on "by application," the driver will deliver full - or with the X800, brilinear - filtering on all stages - at least according to ATi. As the driver selects the type of filtering adaptively, further optimizations are conceivable here too and with colored mipmaps this behavior can no longer be checked.

There are also a very small number of games available that allow the user to set anisotropic filtering. In these games anisotropic filtering can only be used by forcing it in the driver menus. Even UT200x only offers this option after the ut200x.ini file is manually edited.

NVIDIA is also using a stage optimization since 51.xx and later drivers for the GeForce 5xxx series. The cards do only apply 2x anisotropic at maximum to the texture stages 1-7 if anisotropic filtering is forced by the driver - regardless wich anios level is chosen.