Catalyst A.I. brings app-specific optimizations
As we've reported before, ATI's Catalyst 4.10 drivers will include application-specific optimizations. NVIDIA has long used app-specific optimizations in its graphics drivers, but ATI has dismissed such things as unnecessary and somewhat unseemly. The change of heart at ATI seems prompted by a number of issues, not least of which is being locked in a heated battle for graphics supremacy that's now a much tighter contest than it was for the past couple of years.
Another source of concern for ATI is its adaptive trilinear filtering algorithm, built into all new ATI GPUs since the Radeon 9600. This algorithm boosts performance by skipping certain filtering tasks (trilinear blends and anisotropic sampling) that it deems unnecessary after analyzing the textures involved. This optimized filtering routine generally works well, but in certain cases (such as detail textures in UT2004), the algorithm doesn't quite handle things properly, resulting in visible image artifacts. ATI's new application detection facility, dubbed Catalyst A.I., will allow ATI's drivers to detect an application where there's a filtering problem and act to correct it by applying more rigorous filtering.
Beyond that, Catalyst A.I. enables ATI to correct for bugs, bad behaviors, and incompatibilities in games, such as the problem with control panel-invoked anisotropic filtering in Doom 3 we recently noted. Rather than allow filtering to happen on the texture that acts as Doom 3's specular lookup table, Catalyst 4.10 uses shader replacement to substitute in a "mathematically equivalent" pixel shader instruction.
Catalyst A.I. will also, of course, free ATI's driver team to make games run faster through various sorts of optimizations, even when no bugs are present. For instance, the company is using Catalyst A.I.'s app detection facilities to optimize texture cache mapping in some games, including UT2004 and the Half-Life 2 Source engine. Apparently, cache can be mapped a couple of different ways on ATI's GPUs, and the default mapping is less than optimal for the way these games access textures.
As of now, the list of apps detected by Catalyst A.I. includes Doom 3, UT2003, UT2004, the Half-Life 2 Source engine, Splinter Cell, Race Driver, Prince of Persia, and Crazy Taxi 3. These apps are detected simply by keying on the name of the executable program. Obviously, the list of apps detected will grow in future driver revs. ATI has stated explicitly, however, that it will never optimize specifically for a synthetic benchmark.
The Catalyst A.I. optimizations will be turned on by default in ATI's new drivers, but ATI gives users the option of disabling them via the Catalyst Control Center. Notably, disabling Catalyst A.I. will turn off general optimizations as well as app-specific ones, including ATI's adaptive texture filtering algorithm; this is the first time the company has offered that option to its customers. Unfortunately, users will not be able to disable ATI's angle-dependent anisotropic filtering optimization, because angle-based aniso is hard-wired into its graphics chips.
ATI obviously hopes this measure of user control, and this transparency about which applications are being accelerated, will deflect user concerns about app-specific optimizations in its drivers. This desire for openness stands in tension with ATI's wish to avoid giving away the secrets behind its best optimizations. When I spoke with ATI abound this issue, the company was still undecided on how much detail it would disclose about the nature of its optimizations for each application.
| Friday night topic: The trouble with Best Buy | 141 |