AF-Optimierungen unter der Lupe: Filtertechniken von AMD und Nvidia im Vergleich
3/15Theoretische Auswirkungen
Bevor wir uns den Geschwindigkeitsmessungen hingeben, wollen wir zuerst noch einen Blick auf die Bildqualität der Optimierungen des anisotropen Filters werfen. Um uns die Optimierungen in der Theorie zu verdeutlichen, benutzen wir erneut das von Ralf Kornmann geschriebene Tool namens AF-Tester. Da die Theorie nicht automatisch auch auf die Praxis zutrifft, verwenden wir nebenbei noch Half-Life 2 und Serious Sam: The Second Encounter. In Half-Life 2 haben wir uns eine Spielszene ausgesucht, welche ein langes und flaches Stück einer Straße zeigt und somit empfindlich auf den anisotropen Filter reagiert. Bei Serious Sam haben wir die einzelnen MipMap-Stufen durch das Spiel einfärben lassen, da somit die Veränderungen durch die Optimierungen deutlich leichter zu erkennen sind. Anmerken muss man, dass die gezeigten Qualitätsunterschiede nur auf die verwendeten Grafikchips übertragbar sind, sprich den R4xx-Chip von ATi und die NV4x-Generation von nVidia. Ältere Grafikchips zeigen andere Ergebnisse, da sich die Optimierungen des anisotropen Filters bei den neuen Karten geändert haben. Bei nVidia musste der offizielle ForceWare 71.84 als Treiber herhalten und auf Seiten von ATi der Catalyst 5.3. Alle Bilder sind mit einem vierfachen anisotropen Filter erzeugt worden.
nVidia NV4x
Der erste Screenshot des AF-Testers zeigt die Qualitätsstufe Hohe Qualität ohne jegliche Optimierungen. Sofort fällt die starke Winkelabhängigkeit auf, welche es mit der Vorgängergeneration, dem NV3x, noch nicht gegeben hat. Somit hat man sich dem Konkurrenten ATi leider angepasst und stellt nur noch in allen 45-Grad- sowie 90-Grad-Winkeln den eingestellten AF-Grad voll dar. Die 22,5- und 67,5-Grad-Winkel weisen dagegen nur noch eine zweifache AF-Filterung auf. In höheren AF-Einstellungen fällt dieser Effekt noch drastischer aus. Die 45- und 90-Grad-Winkel werden dann Beispielsweise voll 16-fach gefiltert, die 22,5- und 67,5-Grad-Winkel dagegen weiterhin nur zweifach. In Spielen fällt diese Winkelabhängigkeit glücklicherweise nicht so deutlich auf wie beim AF-Tester. Trotzdem kann man in einigen Spielen, unter anderem in Gothic 2, den Effekt deutlich beobachten und dieser stört somit den grafischen Gesamteindruck des Spieles doch merklich. „Dank“ ATi und nun auch nVidia haben wir uns jedoch fast schon dran gewöhnt – schade eigentlich, eine mögliche Deaktivierung der Winkelabhängigkeit hätte sicherlich einige Kunden mehr zum Kauf überreden können. Ein Nachteil dieser möglichen Deaktivierung wäre allerdings ein gut spürbarer Geschwindigkeitsverlust aufgrund eines deutlich höheren Verbrauchs der Füllrate gewesen sowie ein komplexerer Chip, da zusätzliche Transistoren für einen entsprechenden Algorithmus nötig wären. Ansonsten macht die „AF-Blume“ eine recht gute Figur auf dem NV40. Es wird komplett Trilinear gefiltert und die Berechnungen scheinen recht exakt zu sein.
Als zweites haben wir uns im AF-Tester die Standardeinstellung des Treibers angesehen, sprich Qualität mit aktivierter „Trilinearer Optimierung“ sowie der „Optimierung des anisotropen Musters“. Nun sieht man deutlich, dass mit dieser Qualitätseinstellung nicht mehr Trilinear, sondern nur noch „Brilinear“ gefiltert wird. Diese relativ neuartige Filtermethode, welche durch die GeForce FX-Reihe eingeführt wurde um Füllrate sparen zu können, liegt qualitativ zwischen dem trilinearen und dem rein bilinearen Filter. Der „Brilineare Filter“ verkleinert dabei das Tri-Band, welches den Übergang zwischen den einzelnen MipMaps durchgehend machen soll, ohne das ein Wechsel sichtbar wird. Somit kommt einem das Bild nicht „abgehackt“ vor. Durch die „Brilineare“ Filterung kann es in einigen Spielen zu einer sichtbaren Bugwelle kommen, welche man immer vor sich herschiebt. Da allerdings nicht komplett Bilinear, sondern weiterhin auch Trilinear (wenn auch mit einem kleineren Tri-Band als bei einem komplett trilinear gefiltertem AF) gefiltert wird, fallen diese Bugwellen nur selten auf. Screenshots machen dieses Phänomen übrigens nur selten sichtbar, den optischen Effekt sieht man meistens nur in Bewegung. Weiterhin macht sich auch die „Optimierung des anisotropen Filters“ bemerkbar, indem das LOD-Bias des anisotropen Filters auf der ersten bis zur siebten Texture Stage verändert wird. Die MipMaps sind somit minimal nach hinten verschoben und werden in Spielen länger eingesetzt. Dadurch wirken die Texturen im Stillstand etwas schärfer, fangen in Bewegung jedoch an zu flimmern.
Nachdem wir den Regler im Treibermenü „Systemleistung“ eine Stufe weiter nach links auf Leistung gestellt haben, zeigt der AF-Tester nur ein recht gering verändertes Bild an. Die MipMaps sind erneut ein Stück weiter nach hinten verschoben und das Tri-Band ist etwas schmaler als bei der Einstellung „Qualität“. Ansonsten ist keine weitere Änderung erkennbar.
Nachdem wir den Regler auf Hohe Leistung gestellt und zusätzlich noch die dritte AF-Optimierung, namentlich „Anisotrope Mip-Filter-Optimierung“ aktiviert haben, wird ein deutlicher Unterschied zur vorherigen Qualitätsstufe sichtbar. So wird in dieser Einstellung nur noch der bilineare Filter angewendet und somit werden in Bewegung deutliche „Bugwellen“ sichtbar. Diese Bugwellen werden durch das nicht mehr existierende Tri-Band hervorgerufen, da somit die MipMap-Übergänge direkt und ohne einen weichen Übergang aneinander gereiht sind. Der bilineare Filter ist nur auf den Texture Stages eins bis sieben sichtbar, die nullte wird weiterhin Trilinear oder Brilinear gefiltert. Zusätzlich werden die MipMaps weiterhin ein kleines Stück weiter nach hinten verschoben.
ATi R4xx
Der AF-Tester zeigt in allen drei möglichen Varianten des Schalters Catalyst A.I. keinerlei Unterschiede und weist immer exakt das gleiche Bild auf. Bevor wir auf die Eigenschaften der sogenannten „AF-Blume“, welche das Programm erzeugt, eingehen, möchten wir klarstellen, dass das Ergebnis, welches das Programm uns glauben machen möchte, keinesfalls der Realität entspricht. So zeigt der AF-Tester bei Verwendung einer Radeon X800, in jeder Qualitätseinstellung ein voll Trilinear gefiltertes Bild auf allen Texture Stages. Dies stimmt aber nur bedingt. Solange man die Optimierungen in den ATi-Treibern deaktiviert, filtert die Grafikkarte voll Trilinear. Falls man allerdings die Funktion Catalyst A.I. auf Standard oder Advanced setzt, arbeitet wie weiter vorn im Artikel bereits beschrieben, der neue AF-Algorithmus. Solange eine Applikation eine vollständig trilineare Filterung anfordert, wird diese auch geliefert. Ist dies aber nicht der Fall, setzt der neue Algorithmus ein, analysiert jede einzelne Textur und benutzt, falls es ohne Bildqualitätsverlust möglich ist, einen brilinearen Filter.
Ansonsten weist der R4XX eine ähnliche Winkelabhängigkeit auf wie der NV4x von nVidia. Nur in allen 45 Grad und 90 Grad wird der voll eingestellte AF-Grad gefiltert. Die 22,5- und 67,5-Grad-Winkel weisen dagegen maximal einen zweifachen anisotropen Filter auf, selbst wenn ein 16-facher Filter angefordert wird. Im Gegensatz zum NV40 zeigt die Filtermethode von ATi weitere, größere Schwachstellen. So scheint der Algorithmus relativ ungenau zu arbeiten, zudem werden die 45-Grad-Winkel mit einem etwas niedrigerem LOD-Bias berechnet. Dies führt zwar zu einem geringeren Verlust an Füllrate, jedoch fangen Texturen schnell an zu flackern. Insgesamt lässt sich sagen, dass die theoretische Qualität des anisotropen Filters des R4xx nicht an nVidias High Quality-Einstellung beim NV4x heranreichen kann. Ausgeglichener ist der Vergleich mit nVidias AF-Algorithmus in der Standardeinstellung des Treibers, sprich Qualität mit zwei aktivierten AF-Optimierungen. Hier kann die ATi-Karte, falls von der Applikation angefordert, mit einem trilinearen gegenüber einem brilinearen Filter auftrumpfen, auch wenn sie statt dessen etwas ungenauer arbeitet und mit einem veränderten LOD-Bias zugange ist. Unserer subjektiven Meinung zu Folge sind beide Standardeinstellungen der Treiber in der Theorie recht gut vergleichbar, auch wenn die GeForce 6x00 leicht die Nase vorn hat. Falls erwünscht, kann nVidias NV40-Chip allerdings eine sichtbar bessere AF-Qualität liefern, auch wenn dies längst nicht dem Optimum entspricht.