Radeon X800 und die Texturen: Wieviel Optimierung verträgt der Mensch?
Vorwort
ATis isotrope und anisotrope Texturfilter auf der X800-Reihe sorgten in den letzten Wochen für Aufregung. Zuerst aus dem Grunde, weil sie in zahllosen Ersttagstests ihre direkte Konkurrenz, die auf der GeForce 6800 verbaut wurden, anscheinend ohne erkennbare Qualitätseinbußen deutlich in die Schranken weisen konnten. Erste Zweifel ob dieser eigentlich unerklärbaren Vorsprünge kamen, als wir uns die Leistung mit eingefärbten MipMap-Stufen auf einer Radeon 9600 XT näher anschauten - doch das kurze Strohfeuer loderte nur einmal auf und verlosch dann wieder, bis acht Tage und etliche Teststunden später unser Artikel über Versteckspiele bei ATis Texturfiltern online ging und daraufhin eine ziemliche Welle sowohl von Apologeten als auch von scharfen Kritikern dieses Vorgehens seitens der Kanadier auslöste.
In einem ersten Statement, welches sich allerdings nicht direkt auf unseren Artikel bezog, äußerte sich Richard Huddy, Chef der europäischen Developer Relations bei ATi, mit erstaunlicher Direktheit, die er mit Kenntnis unseres Artikels vielleicht so nicht an den Tag gelegt hätte, denn das offizielle Statement von ATi zu dieser Angelegenheit am darauffolgenden Dienstag klang schon deutlich ausführlicher, aber auch defensiver.
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.
Auch mit einem moderierten online-Chat versuchte ATi, verlorengegangenes Terrain in Sachen Kundenvertrauen wieder gutzumachen. Inwieweit dies gelang, können wir nur schwer abschätzen, da viele Antworten, die gegeben wurden, doch arg nach vorgefertigten PR-Statements klangen und einige durchaus interessante und tiefgründigere Fragen leider unbeantwortet blieben.
Chat Transcript: ATI's texture filtering algorithms
Date: Wednesday May 19, 2004
Time: 3:00PM - 4:30PM EST
Below is the transcript from today's chat session on ATI's trilinear filtering. We're posting it here to give as many people as possible the opportunity to see the answers to the questions. Because the technical issues slowed down our ability to answer your questions, we added another hour to the session, and I believe we covered the major points. However, we apologize for the technical difficulties - we wanted to respond as quickly as possible to address people's concerns, and appear to have got ahead of the technology.
Moderator
Thanks for joining us this afternoon. With me are Andy Pomianowski and Raja Koduri, two of the main people behind our performance and image quality algorithms. The chat will last for one hour. We will attempt to answer every question. If you don't see an answer to your question immediately, please be patient, because it can take five to ten minutes for our answers to be posted on the website. Start submitting questions!
TheRock
Why are you not doing full AF?
Andy/Raja
Our AF is not "full" AF? After all, we've been using an adaptive method for this since the R200. If you select 16x in the control panel, you may get 8x, 4x, or 2x depending on how steeply angled the surface is. Doing 16x AF on a wall you're viewing straight on would look exactly the same as no AF, but require 16x more texture samples. Why would it make any sense to do this? This is exactly the same idea we're using for trilinear filtering.
Rush
Why are your trilinear optimizations different to what Nvidia is doing?
Andy/Raja
We won't comment on competitor's algorithms. Our focus is to retain full image quality while offering the best performance possible.
No-one is suggesting that our texture filtering algorithms produce a worse output than previous generations. In fact, if we took them out now the speed would be marginally less and we will receive complaints from users that our quality is lower. We did receive feedback from several folks who think that the X800 IQ is better than our 9800 series - it is always our goal to improve quality in newer hardware generations. To assist in this we have many additional quality controls in hardware in X800 series than on 9800.
Our target is also to avoid any need to detect applications, and as such we have to try to be sure that our image quality remains high in all cases. To achieve this we spent a lot of effort developing algorithms to make the best use of our quality tuning options. This isn“t a performance enhancement applied to popular gaming benchmarks; it“s a performance boost - without image degradation - applied generically to every game that uses box-filtered mipmaps, which is most of them. This means, incidentally, that it“s working during the WHQL tests (unlike optimizations activated by application detection), which means that it has to meet the very stringent image quality requirements of those tests.
TheRock
Will full trilinear filtering be allowed to be set in the drivers?
Andy/Raja
We try to keep the control panel as simple as possible (even as its complexity increases), and if the image quality is identical or better there doesn't seem to be a need to turn it off. However, if our users request otherwise and can demonstrate that it's worthwhile, we would consider adding an option to the control panel.
Singer
Is this really trilinear filtering?
Andy/Raja
Yes, It's a linear function between the two mipmap levels based on the LOD.
gs.
When 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/optimisation/whatever?
Andy/Raja
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.
Sphinx
Is Ati cheating if Colored MipMaps are enabled and shows True FULL_TRI AF and Only Then. Like the Article in ComputerBase.de Descripe it as such one.
Andy/Raja
Absolutely not. If it were the case that we were only performing full trilinear with coloured mipmaps then you might have a point, but this is emphatically not what we do. We take advantage of properties of texture maps for performance and IQ gains. In cases where we are not able to determine that the texture content is appropriate for these techniques we use legacy trilinear filtering. This includes cases such as dynamically uploaded texture maps where we avoid performing analysis so as not to cause any possible gameplay hitches.
volt_Bjorn3D
I think the whole community appreciates the time and the initiative for doing a chat about current filtering algorithm which certainly raised a few issues. Was the new filtering algorithm intentional and if you could tell us why werent review sites notified about it. Thanks.
Andy/Raja
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.
Astaroth
Is x800's hardware able to do "traditional" trilinear or is the new algorithm completely hardwired (not that I would mind :-) ??
Andy/Raja
The X800 hardware is capable of all features of previous generations, and many more besides.
alp
Is this http://www.ixbt.com/video2/images/r420xt/r420-anis0x.jpg (copy and past it) bilinear or bri/trillinear as is is supposed to be...i heard it is possilby a bug in cod causing it to set filtering to bi rather than a really bad trillinear filtering method, is this true?
Andy/Raja
This we believe is test error and the X800 images appear to be obtained using only a bilinear filter. We have been unable to reproduce this internally. Also, note that the game defaults to bilinear when a new card is installed and this may explain the tester error
Singer
Why did ATI say to the general public that they were using trilinear by default, when in fact it was something else? (quality is ok, i agree, but you did deceive, by claiming it to be a trilinear)
Andy/Raja
We understand that there was confusion due to the recent reports otherwise. We provide trilinear filtering in all cases where trilinear filtering was asked for. As has been demonstrated many times by several people - almost every hardware has a different implementation of lod calculation and filtering calculations. If we start calling all the existing filtering implementations with different names - we will end up with many names for trilinear
Wer
Is bit comparison difference images can highlight IQ differences surely there must be some - why do you say there are no IQ differences when these comparisons show otherwise?
Andy/Raja
The bit comparison differences between implementations occur due to many reasons. We constantly make improvements to our hardware algorithms. Bit comparisons just say they are different - not necessarily that one is better than the other. We always on the lookout for cases where we can find IQ problems with our algorithms. We can guarantee you that there will be bit-wise mis-matches without future generation hardware too and the future generation hardware will be better. Our algorithms are exercised by the stringent MS WHQL tests for mipmap filtering and trilinear and we pass all these tests. These tests do not look for exact bit matches but have a reasonable tolerance for algorithmic and numeric variance.
crushinator
Is this Algorythm implemented in hardware? who's analysing texture maps, is it just the driver doing that or is it the chip?
Andy/Raja
The image analysis is performed by the driver to choose the appropriate hardware algorithm. This allows us to continually improve the quality and performance with future drivers.
Bouncing Zabaglione Brothers
If its so good, why has it remained hidden from the public and not marketed as "ATI SmartFilter" or somesuch? Surely if its as good as you say (better quality, faster speed), ATI marketing should be crowing about it? One of the issue here is that it *looks* like ATI is trying to hide things, even if what you have is a genuine improvement for the customer.
Andy/Raja
The engineering team at ATI is constantly improving our drivers by finding ways to take better advantage of the hardware. These improvements happen during all the catalyst releases. We might have missed an opportunity to attach a marketing buzzword to this optimization!
Hanners79
Can you give a more detailed explanation as to why the use of coloured mipmaps shows the use of full trilinear, which doesnt correspond to what seems to occur in a normal, real-world situation?
Andy/Raja
Coloured mipmaps naturally show full trilinear as our image quality analysis reveals that there could be visible differences in the image. It should be noted that trilinear was originally invented to smooth transitions between mip-levels, and in the original definition mip-levels should be filtered versions of each other, as coloured mip-levels clearly are not. Despite this, we understand that people often make use of hardware for purposes beyond that originally envisioned, so we try to make sure that everything always functions exactly as expected.
Cthellis
From previous comments, there have been mention of this technique used for a while (~12 months?) in the RV300 series of chips, but most as with R420. can you tell us which cards, which Catalyst versions, and/or which games exist where we can see similar tendencies.
Andy/Raja
We had new filtering algorithms in places since Cat 3.4 or so. Note that the image quality improved over various driver updates since. Also, as noted earlier, X800 provides better controls than earlier parts. It will be hard to find an exact match with our earlier hardware and drivers
Mabru
Dont you think such a tradeoff is inconceivable in a 500$ graphic card?
Andy/Raja
We think that what we do is expected of all our cards, in particular the more expensive ones. Our users want the best looking results and the highest quality results. They want us to go and scratch our heads and come up with new ways to improve things. Users of ATI cards from last year want us to come out with new drivers that improve their performance and maintain the image quality. We have dedicated engineering teams that work hard to improve things. It's an ongoing effort, exploring new algorithms, finding new ways to improve the end user experience, which is what all this is about. And we are listening too; if you don't like what we offer, let us know and we will strive to improve things.
anonymouscoward
Image quality is a relative term. The real question is, "does the claimed 'trilinear filtering' produce a byte-for-byte replica of 'true trilinear filtering'?" Whether or not the image quality is "the same" or "essentially" the same is irrelevant to this questions
Andy/Raja
Byte for byte compared to what? "True trilinear" is an approximation of what would be the correct filtering, a blending between two versions, one which is too blurry and one too sharp. An improved filter is not byte for byte identical to anything other than itself, but that doesn't mean it isn't a better approximation.
wild_neo
Do you think that you still can compare the benchmarks with other brands, even if you use that different approach (non-equivalent technique)?
Andy/Raja
We've answered this, and yes, we feel we can compare ourselves to any brand, as we believe our quality and performance are higher. Perhaps at times we should be upset about people comparing us to lower quality implementations :-)
Toaster
Whats the patent number and filing date of this algo?
Andy/Raja
This is in the patent pending process right now. So we will not put out the actual patent information at this time. Once approved, anyone can go read the patent.
Chris
What performance boost does this give you, anyway?
Andy/Raja
It's a very mild optimization at the default levels, so of the order of a few percent. But this is a neat algorithm - we encourage you to take the texture slider all the way towards "performance" - we don't think you'll be able to see any image change until the very end, and the performance increases are significant.
Moderator
Thanks for your time. We appreciate your persistence through the technical difficulties.
Ohne jetzt im einzelnen zu den getätigen Aussagen Stellung nehmen zu wollen, da dies in einer endlosen Wortklauberei ausarten würde, möchten wir zu diesen Statements anmerken, dass einige der Aussagen, so, wie sie da stehen, „in höchstem Maße interpretierbar“ sind, um es einmal freundlich auszudrücken. Andere sind schlicht unzutreffend.
Auch die Kollegen von Tech-Report haben ein paar Aussagen von ATi bezüglich deren Texturfilterung und Optimierung derselben in einem Interview mit David Nalasco, Technology Marketing Manager bei ATi, erhalten. In der verlinkten Passage auf Seite 6, die den Titel „Texture Filtering Intrigue“ trägt, werden ähnliche Antworten gegeben, wie schon zuvor, teils aber zumindest präzisiert.