ATI's Optimized Texture Filtering Called Into Question

Brilinear - Simply Filter Less, Continued

ATi offered several explanations to account for the issue in chat mode:

Swipe to scroll horizontally
SingerIs this really trilinear filtering?Andy/Raja(ATI)Yes, It's a linear function between the two mipmap levels based on the will ATI restore full trilinear so that review sites can actually rebench and retest your cards, since any previous review benchmarks is invalidated by this cheat/optimization/whatever?Andy/Raja (ATI)We have never removed "full trilinear". We certainly do not believe that any benchmarks have been invalidated by our techniques. In all cases reviewed so far we believe that we have higher image quality than other implementations.volt_Bjorn3D...Was the new filtering algorithm intentional and could you tell us why review sites notified about It? Thanks.Andy/Raja (ATI)We are constantly tuning our drivers and our hardware. Every new generation of hardware provides the driver with more programmability for features and modes that were hard-wired in the previous generation. We constantly strive to increase performance and quality with every new driver release. There are literally dozens and dozens of such optimizations that went into our drivers in the last year or so. Sometimes many such optimizations are not even communicated internally to marketing and PR teams for example. And many optimizations are very proprietary in nature and we cannot disclose publicly anyways.

Read the full ATi chat log here .

The statements from ATI are, in part, incorrect. True trilinear filtering is mathematically defined and thus almost a standard. Brilinear is something else, i.e. optimized, and thus no longer "true." It is beyond us how ATi can manage to say that this filter is supposed to result in better quality than real trilinear. Moreover, they avoid the question - understandably, from a marketing point of view - of what they think of the benchmark values from various reviews. Several reviewers have disabled the trilinear optimization in NVIDIA's GeForce 6800, as suggested by ATI. In our X800 test NVIDIA's trilinear optimization was not disabled, so the comparable values continue to be valid and comparable.

Whether ATi's statements are comprehensible naturally depends on one's point of view. However, the fact is that ATi's X800 currently cannot handle trilinear filtering and NVIDIA's GeForce 6800 delivers a theoretically better filter quality, at least when the trilinear optimization is disabled in the driver. It is also a fact that the image quality of the X800 cannot be assessed using tests with colored mipmaps. The proof that the card showed good quality in testing is thus only partly valid.

However, ATi must still be credited with the fact that the optimization does not result in significant loss of quality in games - at least, we do not yet have an example of this. But the adaptive nature of the optimization makes it really hard to find one. Even NVIDIA's GeForce 5xxx series was not condemned for brilinear filtering, although it was clearly criticized. For NVIDIA, however, this type of filtering was obvious to everyone. And that's why ATi had better get used to more criticism. It is also still unclear how far ATi's optimization goes, i.e. which is the smallest filter level and whether the optimization is limited to mipmap filtering or if there's much more going on.

Here's ATi's official response to the issue:

Swipe to scroll horizontally
"There has been a lot of discussion about our trilinear filtering algorithms recently.The objective of trilinear filtering is to make transitions between mipmap levels as near to invisible as possible. As long as this is achieved, there is no "right" or "wrong" way to implement the filtering.We have added intelligence to our filtering algorithm to increase performance without affecting image quality. As some people have discovered, it is possible to show differences between our filtering implementations for the RADEON 9800XT and RADEON X800. However, these differences can only be seen by subtracting before and after screenshots and amplifying the result. No-one has claimed that the differences make one implementation "better" than another.Our algorithm for image analysis-based texture filtering techniques is patent-pending. It works by determining how different one mipmap level is from the next and then applying the appropriate level of filtering. It only applies this optimization to the typical case - specifically, where the mipmaps are generated using box filtering. Atypical situations, where each mipmap could differ significantly from the previous level, receive no optimizations. This includes extreme cases such as colored mipmap levels, which is why tests based on color mipmap levels show different results. Just to be explicit: there is no application detection going on; this just illustrates the sophistication of the algorithm.We encourage users to experiment with moving the texture preference slider from "Quality" towards "Performance" - you will see huge performance gains with no effect on image quality until the very end, and even then, the effect is hardly noticeable. We are confident that we give gamers the best image quality at every performance level.Microsoft does set some standards for texture filtering and the company's WHQL process includes extensive image quality tests for trilinear filtering and mipmapping. CATALYST passes all these tests - and without application detection, which could be used if you wanted to get a lower-quality algorithm go undetected through the tests.Finally, ATI takes image quality extremely seriously and we are confident that we set the bar for the whole industry. We don't undertake changes to our filtering algorithms lightly, and perform considerable on-line and off-line image analysis before implementing changes. This algorithm has been in public use for over a year in our RADEON 9600 series products, and we have not received any adverse comments on image quality in that time. If anyone does find any quality degradation as a result of this algorithm, they are invited to report it to ATI. If there is a problem, we will fix it."