Anti-Aliasing und anisotroper Filter der GeForceFX
20. November 2002 / von aths / Seite 4 von 4
Fazit Anti-Aliasing
Offenbar hatten die jetzt bei nVidia beschäftigten 3dfx-Leute beim Aspekt des Anti-Aliasings der GeForceFX nicht viel zu sagen. Als nVidia bei der GeForce3 HRAA ("High Resolution Anti-Aliasing") einführte, war die Multisampling-Realisierung neu. Die Sample-Muster waren entweder von 3dfx (bei 2x) oder von sich selbst (bei 4x) übernommen. Einzig und allein Quincunx war eine nVidia-Eigenentwicklung.
Wir hofften nun bei der GeForceFX, dass nVidia damit aufhören würde, Unschärfe-Filter (Quincunx) als Bild-Verbesserung anzupreisen und lieber ihren 4x-Modus qualitativer machen würde. Dies hat nVidia allerdings nicht getan und bleibt auch bei der GeForceFX beim alten "ordered grid" 4x-Muster. Jenes existiert bei nVidia so allerdings schon seit dem Frühjahr 2000 - und in dieser Branche sind zweieinhalb Jahre eine ganze Ewigkeit.
Um diesen Mangel zu umgehen, setzt nVidia verstärkt auf den "rotated grid" 2x-Modus, welche sich in den neuen Modi 6xS und 8xS zusammengemischt mit Supersampling wiederfindet. Durch den hohen "ordered grid" Supersampling-Anteil der neuen Modi kann dieses Manko aber nur bedingt "kaschiert" werden. Dass nebenbei die Texturqualität steigt, sieht man mit einem lachendem und einem weinendem Auge: Der anisotrope Filter tut dies auch, aber deutlich effizienter.
Der Anisotrope Filter der GeForceFX
Da wir schon beim Anti-Aliasing soviel mit ATi verglichen haben, ist es nur recht und billig, dies hier ebenfalls zu tun. Seit der ersten Radeon bietet ATi bis zu 16x AF. Daran hat sich bis jetzt nichts geändert, aber von Chipgeneration zu Chipgeneration wurde die Qualität verbessert. nVidia bietet ab der GeForce3 "nur" 8x AF - und daran hat sich auch mit der GeForceFX nichts geändert. Im Laufe der Fortentwicklung wurde der anisotrope Filter nicht verschönert - denn sehr schön war er von Anfang an - dafür aber verschnellert.
Leider mit einer Ausnahme, welche die GeForce4 Ti (NV25/NV28) betrifft. Wie wir bereits darlegten, können diese Chips pro Pipeline nur ein AF-Sample erzeugen. Die GeForce3 kann hingegen pro Pipeline zwei (dann aber nur bilineare) AF-Samples generieren. Da beide jeweils 4 Rendering-Pipelines haben, kann die GeForce3 also 8 und GeForce4 Ti nur noch 4 AF-Samples pro Takt berechnen.
Die GeForceFX mit ihren 8 Pipelines kann wieder 8 (allerdings schon trilineare) Samples pro Taktzyklus erzeugen. Da pro GeForceFX-TMU aus nur einer Textur gesampelt werden kann, muss für "single clock trilinear filtering" eine spezielle "fast trilinear"-Methode verwendet werden, welche sozusagen "on the fly" aus der aktuellen MIP-Map die nächstkleinere Stufe generiert. Weil hierfür pro Pixel gleich 16 ungefilterte Texel aus der Textur gebraucht werden, ist der Einsatz von "fast trilinear" nicht immer möglich, sondern beispielsweise auf Texturkomprimierung angewiesen. Ansonsten wäre für eine trilineare Filterung jede GeForceFX-Pipeline gleich zwei Takte beschäftigt (Nochmals Danke an Xmas).
Zusätzlich wird bei der GeForceFX erstmals bei einem nVidia-Beschleuniger per Treiber die Möglichkeit angeboten, auf Kosten der Qualität die Leistung des anisotropen Filters zu optimieren. Das läuft darauf hinaus, dort, "wo man es nicht so sieht", schlicht an Samples zu sparen, und nur die "wichtigen" Stellen mit vollem Grad anisotrop zu filtern. nVidia nennt dies treffenderweise "adaptive" Filterung.
Bekanntlich arbeitet AF grundsätzlich adaptiv, also werden im 8x-Modus nicht für jedes Pixel 8 Samples erzeugt, sondern nur dort, wo es qualitätsverbessernd wirkt. Durch eine Einstellung namens "aggressive" im GeForceFX-Treiber wird diese Entscheidungs-Schwelle nun etwas verschoben, so dass die höchsten Sampling-Grade weniger oft zum Einsatz kommen.
Richtig neu ist dies aber auch nicht: Wie der Artikel zum GeForce4 Ti AF-Bug zeigt, probiert nVidia unter OpenGL schon seit einiger Zeit mit performanceoptimierten Methoden herum, und unter Direct3D gibt es ebenfalls Wege, AF zu beschleunigen. Angesichts der sehr schnellen AF-Methode von ATi (welche allerdings im Ganzen mit der Qualität einer GeForce3/4/FX nicht mithalten kann), gehen wir davon aus, dass nVidia bei der GeForceFX "von Haus aus" auch für Direct3D eine Performance-Optimierung bereitstellen wird.
Fazit Anisotroper Filter
Während beim Anti-Aliasing ein stark verbessertes Framebuffer-Managment im Hintergrund steht, um jenes zu beschleunigen, profitiert der anisotrope Filter von der doppelter Pipeline-Zahl des GeForceFX und wahlweise zusätzlichen qualitätsmindernden Performance-Optimierungen. Im Gegensatz zum Anti-Aliasing sind wir allerdings recht froh, dass nVidia hier wenig getan hat. Denn beim anisotropen Filter sind sie, von der Bildqualität her, nun einmal Spitzenreiter. Diese Stellung haben sie sich nicht im Hinblick auf Benchmark-Erfolge verspielt, was wir ausdrücklich begrüßen.
Im Gesamten erlauben wir uns auf dieser Basis natürlich kein abschließendes Urteil über die bildqualitätsverbesserenden Verfahren der GeForceFX. Nur unabhänginge Benchmark können zeigen, wie praktikabel die GeForceFX für Freunde von hoher 3D-Qualität sein wird. Bei Vergleichen mit der Radeon 9700 Pro ist bitte zudem immer zu beachten, dass eine annähernd gleiche Bildqualität und nicht nur stur nach Namen und Nummer eines Verfahrens verglichen wird. Vor einem Benchmark steht also zuerst einmal der Vergleich der praktischen Bildqualitäten.
Dieser Artikel wäre ohne das nVidia-Interview auf Beyond3D sowie Forenbeiträge von nggalai und Demirug und Nachfragen an Xmas nicht möglich gewesen. Für diese Unterstützung möchte ich mich bedanken. |