Technikvergleich anisotroper Filter

Montag, 30. April 2007
 / von Leonidas & Madkiller
 

Nach der Betrachtung der Möglichkeiten von ATI und nVidia beim Thema Anti-Aliasing folgt nun selbiges zum Thema des anisotropen Filters – welches mit dem grundsätzlichen Unterschied gewürzt ist, daß man hierzu eigentlich ganze Bücher an Material füllen könnte. Denn hier spielen nun neben unterschiedlichen Settings und Wertigkeiten nun auch noch die beliebten Filter-"Optimierungen" mit hinein, steigt die Komplexität eines Vergleichs also enorm an, wollte man alle diese Optionen berücksichtigen.

Deshalb haben wir uns dazu entschloßen, nur noch die wichtigsten und am häufigsten genutzten Optionen anzusprechen – letztlich geht es schließlich immer darum, was in der Praxis mehrheitlich passiert und nicht, was rein theoretisch alles möglich wäre. Demzufolge enthält die nachfolgende tabellarische Aufstellung nunmehr auch nur Screenshots von 4x und 16x anisotropen Filter: Das 4x, weil hierbei die verschiedenen Ansätze noch am besten zu sehen sind, und das 16x, weil bei diesem die teilweise arg geringen Unterschiede zwischen den niedrigen und den hohen AF-Modi gut zur Geltung kommen.

Gleichfalls beschäftigt sich die nachfolgende Aufstellung auch nur noch mit dem anisotropen Filter per Aktivierung aus der
Anwendungssoftware (dem Spiel) heraus, nicht mehr mit dem anisotropen Filter per Aktivierung aus dem Control Panel des Herstellers. Dies hat vor allem früher noch sehr unterschiedliche Filterqualitäten ergeben, da bei Aktivierung aus dem Spiel heraus zumeist keine Filter-"Optimierungen" angesetzt wurden, bei Aktivierung per Control Panel dafür um so mehr. Da aber inzwischen die allermeisten der heutigen Spiele eigene Optionen für den anisotropen Filter mit bringen, haben wir uns rein auf diese Variante konzentriert.

Und letztlich haben wir uns nachfolgend bei der Darstellung der herauskommenden Filterqualität wieder allein auf Direct3D und dort das Tool D3D AF-Tester verlassen, da OpenGL heutzutage im Spiel-gesteuerten Modus keine Unterschiede mehr zeigt. Und damit zu den Möglichkeiten von ATI, wobei wir hier nur den Standard-Modus sowie das zuschaltbare Area-AF berücksichtigen, den von der Bildqualität her schwächeren Modus "Advanced" sowie das in der Praxis eher nutzlose "A.I. off" ergo nicht betrachten werden:

Anisotroper Filter auf ATIs Radeon X1x00 Serie
  Anmerkungen Filterqualität 4xAF Direct3D Filterqualität 16xAF Direct3D
Standard
(default)
A.I. Low (default)
Modi 2x bis 16x
trilinearer Grundfilter
Winkelabhängigkeit ab 4x
einige kleinere "Optimierungen" (unabschaltbar) aktiv
af_R580_filterqualitaet_standard_4x af_R580_filterqualitaet_standard_16x
Area-AF A.I. Low (default) + Area-AF
Modi 2x bis 16x
trilinearer Grundfilter
nur noch geringfügige Winkelabhängigkeit ab 8x
einige kleinere "Optimierungen" (unabschaltbar) aktiv
af_R580_filterqualitaet_area_4x af_R580_filterqualitaet_area_16x

Sehr deutlich wird erst einmal im Vergleich von 4x zu 16xAF im Standard-Modus, wie wenig Gewinn an Bildqualität man damit doch erhält – und obwohl es sich immerhin um einen Sprung von zwei Stufen handelt. Die ab 4xAF allerdings einsetzende Winkelabhängigkeit verhindert jedoch effektiv, daß man unter 8x bzw. 16xAF all zu häufig mit 8x oder 16x gefiltere Texturen zu Gesicht bekommt. Zudem hat Winkelabhängigkeit auch immer den Nachteil, daß sie je nach Spielsituation in direkt nebeneinanderliegenden unterschiedlich stark gefilterten Texturen resultieren kann, was dann deutlich den optischen Eindruck stört.

Insofern ist ATIs Entscheidung, der Radeon X1x00 Serie eine (fast) winkelunabhängige anisotrope Filterung zu spendieren, nur ausdrücklich zu begrüssen – und der Effekt ist mit obigen Screenshots auch eindrucksvoll belegt. nVidia hat hier mittels der GeForce8-Serie inzwischen nachgelegt, für die GeForce7-Serie wird jedoch noch kein winkelabhängiger anisotroper Filter mehr verfügbar werden. Nachfolgend sei daher der Standard-Modus "Quality" sowie der bessere Modus "High Quality" aufgezeigt, die beiden von der Bildqualität her schwächeren Modi "Performance" und "High Performance" werden wir dagegen nicht betrachten:

Anisotroper Filter auf nVidias GeForce7 Serie
  Anmerkungen Filterqualität 4xAF Direct3D Filterqualität 16xAF Direct3D
Quality
(default)
Modi 2x bis 16x
tri/brilinearer Grundfilter
(trilinear auf TS0, brilinear auf TS1-7)
Winkelabhängigkeit ab 4x
mehrere gravierende "Optimierungen" aktiv
af_G71_filterqualitaet_quality_4x af_G71_filterqualitaet_quality_16x
High Quality Modi 2x bis 16x
trilinearer Grundfilter
Winkelabhängigkeit ab 4x
einige kleinere "Optimierungen" (unabschaltbar) aktiv
af_G71_filterqualitaet_hq_4x af_G71_filterqualitaet_hq_16x

Auf den ersten Blick wird hier schon klar, daß nVidias default-Modus bei der G7x-Serie nicht mit ATIs default-Modus vergleichbar ist: Während dieser bei ATI auf einen trilinearen Grundfilter inklusive einer doch schon anständig zu nennenden Gesamtqualität setzt, bekommt man bei nVidias G7x-Serie nur einen brilinearen Grundfilter samt mehrerer mittelschwerer bis gravierender Filter-"Optimierungen". Diese lassen sich zwar teilweise abschalten, aber dann passt natürlich die Performance wie auch die Bildqualität nicht mehr zum "Quality"-Modus, sondern es geht dann schon in Richtung des "High Quality" Modus.

Somit erscheint letztgenannter Modus auch als die einzig richtige Wahl, will man nVidia G7x-Grafikkarten mit der ATI-Bildqualität vergleichen – nVidias "High Quality" liegt zumindestens klar näher an ATIs Standard-Qualität als der nVidia-default-Modus "Quality". Für ATIs zusätzlichen Modus "Area-AF" hat nVidia wie schon erwähnt derzeit kein Äquivalent, hier liegt der Bildqualitäts-Vorteil dann eindeutig bei ATI.

Nicht verschwiegen werden soll allerdings, daß selbst in den jeweils höchsten Filter-Modi beide Hersteller immer noch diverse kleinere "Optimierungen" mitlaufen haben, welche selbst von den Anwendungsprogrammen nicht mehr deaktivierbar sind. Ironischerweise handelt es sich dabei um eigentlich eher geringfügige Optimierungen in Bezug auf die Auswirkungen bei Performance und Filterqualität – sprich, der Anwender gewinnt damit nur geringfügig an Performance, was letztlich keinen großen Sinn zumindestens bei HighEnd-Grafikkarten macht. Diesen wäre besser gedient, wenn ATI und nVidia in wenigstens einem Filter-Modus im Treiber wirklich alle "Optimierungen" abschalten und die technisch jeweils höchstmöglich machbare Filterqualität anbieten würden.

Beim aktuellen G80-Chip hat nVidia hingegen enorm zugelegt bei der Filterqualität und bietet nun bei der höchsten verfügbaren Einstellung auch die beste derzeit verfügbare Filterqualität – auch inklusive weitestgehender Winkelunabhängigkeit – an. Allerdings wird die default-Einstellung "Quality" des nVidia-Treibers weiterhin mit einem brilinearen Filter "garniert", was zumindestens den G80-Varianten wohl nicht gerecht wird:

Anisotroper Filter auf nVidias GeForce8 Serie
  Anmerkungen Filterqualität 4xAF Direct3D Filterqualität 16xAF Direct3D
Quality
(default)
Modi 2x bis 16x
tri/brilinearer Grundfilter
(trilinear auf TS0, brilinear auf TS1-7)
(fast) keine Winkelabhängigkeit
eine gravierende "Optimierung" aktiv
af_G80_filterqualitaet_quality_4x af_G80_filterqualitaet_quality_16x
High Quality Modi 2x bis 16x
trilinearer Grundfilter
(fast) keine Winkelabhängigkeit
irgendwelche "Optimierungen" sind derzeit nicht bekannt
af_G80_filterqualitaet_hq_4x af_G80_filterqualitaet_hq_16x

nVidia wäre hier also allerhöchstens der kleine Vorwurf zu machen, warum man nicht gleich "High Quality" zum Standardfiltermodus zumindestens für die GeForce 8800 Serie erhoben hat. Aber dies wäre Haarspalterei – wer will, der kann mit minimalen Änderungen an den Treibereinstellungen zu einer herausragenden Filterqualität kommen, welche selbst den hohen Standard der ATI-Karten (geringfügig) zu überbieten in der Lage ist.