Hat der "brilineare" Filter eine Zukunft?
26. Oktober 2003 / von aths / Seite 2 von 2
Eine Gewinn- und Verlustrechnung
Die maximale Füllrate war schon immer eine höchst ungenaue Angabe zur Abschätzung der realen Leistung. Das Rendering von 3D-Grafiken ist ein komplexer Vorgang, es gibt praktisch kein Spiel, welches die theoretische Füllrate einer Grafikkarte auch nur annähernd ausnutzt. Die Mehrarbeit durch trilineares Filtern ist chipintern und wird zumeist relativ locker weggesteckt. Durch das Herunterschalten auf bilinear gelangt man keineswegs zu doppelt so hohen Frameraten.
"Brilinear" bringt in der Praxis dann auch nur ein recht kleines Leistungsplus. Das Hauptproblem ist allerdings, dass es keine sinnvolle Alternativ-Möglichkeit gibt, die Nachteile auszugleichen. Erinnern wir uns an die Textur-Verbesserung durch Supersampling. Heutzutage werden Texturen mit dem anisotropen Filter verbessert, welcher viel effizienter arbeitet als Supersampling. Wofür Supersampling bei jedem Pixel 16 Samples bräuchte, kommt der anisotrope Filter mit maximal 4 Samples aus und bringt praktisch die gleiche Qualität.
Eine solche Auswahlmöglichkeit gibt es beim "brilinearem" Filter nicht. Auch mit gesteigerter Auflösung wird das Grundübel des "brilinearen" Filters nicht beseitigt: Anfälligkeit für "Bugwellen". Diese treten prinzipiell immer auf, sofern nicht voll trilinear gefiltert wird. Wie gut man diese dann sieht, ist eine andere Frage.
Wenn wir schon genau sein wollen, wollen wir auch wirklich genau sein: Prinzipiell gibt es diesen Artefakt auch noch beim vollen trilinearen Filter. Nur sind die "Bugwellen" auf die maximal sinnvolle Fläche langezogen (diese kommen ja zustande durch das MIP-Mapping, worauf auch Trilinear basiert) so dass sie praktisch verschwinden. Wir haben hierzu synthetische Screenshots vorbereitet:
Bilineare Filterung ist nicht mehr zeitgemäß. |
Der trilineare Filter liefert viel bessere Übergänge. |
Mit "brilinear" nimmt die Sichtbarkeit der Detailstufen-Wechsel zu. In Bewegung ist der Effekt deutlich stärker wahrnehmbar als auf einem Standbild. |
Was gegen bilinear hilft, hilft natürlich auch bei brilinear: Anisotrope Filterung. Da diese Thematik in einem späteren Artikel noch ausführlichst behandelt werden wird, wollen wir jetzt nur kurz darauf eingehen. AF verschiebt mit MIP-Bänder "nach hinten", MIP-Banding-Artefakte werden insgesamt somit weniger sichtbar. Auf der anderen Seite kostet AF viel Leistung. Nun könnte man korrekterweise argumentieren, ohne AF würde man heutzutage ohnehin kaum mehr spielen, doch zwei Einwände lassen sich nicht wegdiskutieren:
Zum einen "optimiert" Nvidia ja auch das AF. Sowohl winkelabhängig als auch allgemein gesehen wird der Anisotropie-Grad gesenkt. 8° AF sollte bedeuten, dass jedes Pixel so viel AF bekommt, wie notwendig ist, um die Qualität zu erhöhen; bishin zu 8 AF-Samples und erst dann wird Aliasing über Unschärfe vermieden. Bei Nvidias Optimierungen wird leider nur noch für sehr schmale Bereiche 8° AF gefiltert. Damit werden die MIP-Bänder weniger weit nach hinten geschoben, als ansonsten möglich.
Nun ist es in den meisten Treiber immerhin so, dass diese Winkel-Optimierung keine Pflicht ist. Zwang ist seit neustem allerdings, dass außer auf der primären Texture-Stage nur noch höchstens 2° gefiltert wird. Bei Max Payne, wo in Außenwelten gewisse Basis-Texturen auf Stage 1 liegen, sieht man das dann sofort: Unschärfe. Die GeForce4 Ti konnte über die Registry oder einfacher mit einem Tweaker wie RivaTuner oder aTuner diesbezüglich vom User um-konfiguriert werden. Das ist als Option auch sinnvoll (neuere Treiber unterstützen das leider nicht mehr), aber sollte immer nur eine "opt-in"-Möglichkeit sein.
Der zweite Einwand betrifft die kleinen GeForce FXe, die über wenig Füllrate verfügen. Hier verbieten sich hohe AF-Stufen von vornherein, demzufolge können die Schwächen der brilinearen Filterung schlechter kaschiert werden.
Seit längerer Zeit zwingt Nvidia die FX-Besitzer dazu, in UT2003 mit "brilinear" zu leben. Wie unsere Tests zeigen, ist der tatsächlich sichtbare Qualitätsunterschied ziemlich gering. In dieser Kolumne erlauben wir uns einen weniger technisch Ansatz und stellen mal in den Raum, dass eine Option, die nur sehr wenig Bildqualität für ein spürbares Leistungsplus opfert, auf jeden Fall wünschenswert ist. Das wichtigste Wort in diesem Satz ist allerdings "Option".
Zwang zur Leistung?
Nvidia bewirbt die FX-Serie mit "Cinematic Computing" und "Engineered with passion for perfection", und erlaubt nun in neuen Treibern bei keiner Direct3D-Anwendung die Nutzung von echter trilinearer Filterung. Das halten wir für lächerlich. Nvidia legt hier fest, wie der Kunde seine "Cinematic Computing"-Hardware zu nutzen hat: Performance-optimiert. Der User wird der Option beraubt, die bestmögliche Qualität zu sehen - oder anders gesagt, ein Stück weit entmündigt.
Da UT2003 sehr viel Leistung benötigt, kann es durchaus Sinn machen, die Filterqualität herunterzuschrauben. MIP-Banding wird mit "brilinear" bei den in UT2003 verwendeten Texturen ja praktisch beseitigt. Doch warum soll das, wenn es nach Nvidia geht, zukünftig die einzige Möglichkeit sein, UT2003 zu spielen? Warum wird dieses Paradigma jetzt auch noch auf alle anderen Spiele ausgeweitet, die Direct3D nutzen?
Mit der originalen Radeon und der Radeon 8500 wurde 16° AF von ATI aggressiv vermarktet. Sofern anisotrope Filterung zugeschaltet wurde, kann jedoch aufgrund einer Hardware-Einschränkung (bis einschließlich Radeon 9200) keine trilineare Filterung mehr stattfinden, es bleibt immer bei bilinearer Anisotropie. Dies, und die extreme Winkelabhängigkeit des Radeon-AFs, wurde von ATI als sinnvolle Einschränkung verteidigt: Die wichtigen Bereiche bekämen ja anisotrope Filterung und trilineares AF würde für ein kleines Qualitätsplus viel zu viel Leistung fressen.
Das kann man natürlich so nicht stehen lassen. GeForce3-User nutzten zwar oft auch nur bilineares AF, aber in weniger fordernen Spielen konnten sie volles trilineares AF genießen. Die relativ schwache Winkelabhängigkeit vom AF auf GeForce-Karten trug zusätzlich zur guten Textur-Qualität mit bei. Bei ATI kam man aber nicht auf die Idee, dem User die trilineare Filterung (ohne AF) zu nehmen. Auf jeder Radeon sind korrekt trilinear gefilterte Texturen möglich, für uns das unterste Mindestmaß, was eine brauchbare 3D-Grafikkarte filtertechnisch bieten muss.
Fassen wir unsere konkreten Vorbehalten gegen Nvidias neuen Filter noch mal zusammen: Die durch trilineare Filterung gewonnenen Qualitäts-Vorteile werden zum Teil wieder zunichte gemacht. Es gibt vor allem keine Ressourcen-sparende Option, welchen diesen Mangel beheben kann. Zudem zweifeln wir den Sinn an, generell derart zu "optimieren": Die ohnehin schnellen Karten gewinnen Frames, die man nicht braucht (und opfern Qualität die man vielleicht gern hätte). Die Einsteiger-Karten werden nicht schnell genug, um moderne Spiele in hohen Auflösungen flüssig darstellen zu können.
In Zukunft wird die bislang noch praktisch belanglose Größe "Shader-Power" stark an Bedeutung gewinnen. Gerade weil die GeForceFX keine besonders schnellen Shader hat, verbleibt eigentlich genug Zeit, wenigstens hochwertige Texturfilter zu verwenden. Immerhin ist dies das einzige Pfund, über welches Nvidia momentan verfügt: Denn in Dingen Shaderpower und Anti-Aliasing Qualität liegt die Konkurrenz momentan uneinholbar vorn. Einen so guten anisotropen Texturfilter à la GeForce 3 (und Nachfolger) hat im Moment sonst niemand zu bieten, doch Nvidia spielt diesen Trumpf nicht aus. Was nützt ein AF, das auf dem brilinearem Filter basiert und seine Nachteile übernimmt?
Dem User Optionen zu bieten, wird von uns per se begrüßt, selbst wenn die Optionen im Einzelnen nicht so richtig Sinn haben mögen. "Brilinear" kann in gewissen Situationen für kaum sichtbare Qualitätsverluste das entscheidene Plus an Spielbarkeit ausmachen. Damit sehen wir für diese Möglichkeit in absehbarer Zeit durchaus Zukunft. Langfristig nehmen wir an, dass sich hochstufige trilineare anisotrope Filterung - oder sogar noch bessere Verfahren - durchsetzen (es geht noch besser, als trilinear gefiltert). Unserer Meinung nach kann es jedoch nicht angehen, dass es immer ausgefeiltere Pixelshader-Hardware gibt, die Texturfilter-Qualität aber kontinuierlich herunter geschraubt wird.
So bleibt denn auch ein schaler Nachgeschmack: Die GeForce4 Ti wird derzeit treiberseitig künstlich verlangsamt (die AF-Stage-Optimierung funktioniert nicht mehr und abgesehen von einigen Benchmark-Programmen ist Early-Z-Occlusion deaktiviert worden). Die FXe werden dagegen künstlich gepuscht - durch erzwungene schlechtere Bildqualität, welche der Anwender nicht deaktivieren kann, selbst wenn er es so wollte. Dabei bewirbt Nvidia den neuen Treiber sogar mit dem Release-Highlight "Enhanced image quality for both anisotropic filtering and anti-aliasing".
Zur Inkaufnahme fehlender echter trilineare Filterung genötigt zu werden, können wir im Jahre 2003 jedoch partout nicht akzeptieren. Die Kirche sollte man schon im Dorf lassen, so sehen wir diverse Verschlechterungen der AF-Qualität "nur" missbilligend (nebenbei gesagt, auch ATI beteiligt sich leider an diesen sinnlosen Spielchen). Dem User trilineare Filterung vorzuenthalten, können wir nur als Verzweiflungstat von Nvidia auslegen. Die von langer Hand geplante Einführung von "brilinear" war wohl kaum als zukünftige Maximalqualität gedacht. Sofern Nvidia hier nicht schnellstens zurückrudert, kann man diese Produkte nicht als würdige Hardware für Computerspieler sehen.