Zum 3DCenter Forum
Inhalt




Anti-Aliasing im Detail

24. Februar 2002 / von aths / Seite 8 von 18



  Der Multisample-Buffer
  (Am Beispiel des T-Buffers)

Das rotated grid Verfahren könnte auch mit der herkömmlichen Methode eines großen Superbackbuffers realisiert werden. Die Vorteile durch einen Multisample-Buffer überwiegen aber.

Oben: Superbackbuffer. Unten: Mehrere Backbuffer.
Oben: Superbackbuffer.
Unten: Mehrere Backbuffer.

Die Szene wird nicht vergrößert, sondern einfach mehrfach gerendert. Für jeden einzelnen Backbuffer wird die Geometrie ein klein wenig verschoben, so dass die verschiedenen Samplepositionen realisiert sind. Dabei werden die einzelnen Bilder nicht nacheinander, sondern zeitgleich gerendert. Das bringt erhöhte Trefferchancen im Textur-Cache - und man umgeht die Problematik, dass ansonsten alle Dreieck-Geometrie-Daten zwischenspeichert werden müsste.

Supersampling kann auf zwei unterschiedliche Weisen realisiert werden. Entweder vergrößert man den Backbuffer, oder man nutzt mehrere. Diese werden dann Multisample-Buffer genannt.

3dfx spendierte ihrem VSA-100 Chip den ersten auf dem Endnutzer-Markt erhältlichen Multisample-Buffer. Für grafische Workstations ist dies allerdings ein alter Hut. Die von Gary Tarolli entwickelte spezielle Technik "für den Hausgebrauch" wurde unter dem Begriff T-Buffer vermarktet. Das T entlieh man seinem Namen.

Der T-Buffer bringt gegenüber dem herkömmlichen Supersampling eine Reihe Änderungen mit sich. Dort wurde ein vergrößerter Backbuffer downgesampelt. Diese Rückrechnung vorzunehmen bedeutet, dass eine Menge Daten über den internen Grafikkarten-Bus müssen.

Die Voodoo 4/5 Karten verzichten auf das downsampeln im Chip. Das macht hier der RAMDAC, also die Elektronik, welche aus dem Framebuffer das Monitorsignal erzeugt. Da erst der RAMDAC mischt, liegt das fertige Bild nirgendwo im Speicher. Deshalb benötigt jeder Backbuffer seinen eigenen Frontbuffer. Denn dieser wird ja auf dem Bildschirm angezeigt, während im Hintergrund die nächsten Backbuffer gerendert werden.

Um genügend Leistung für Anti-Aliasing zu bekommen, muss oft auf 16 Bit Farbtiefe geschaltet werden. Die Voodoo5 erzeugt dann mehrere Backbuffer in 16 Bit Farbe. Werden diese im RAMDAC gemischt, so kann das Ergebnis natürlich deutlich mehr Farben enthalten, als mit 16 Bit möglich! Bei einer Lösung mit vergrößertem Backbuffer könnte das downgesampelte Bild ebenfalls mehr Farben als mit 16 Bit möglich erhalten. Dazu müsste das Downsampling allerdings im 32 Bit Modus vorgenommen werden, was aber in der Praxis nicht gemacht wird. Die löbliche Ausnahme ist hier der KYRO-Chip, da dieser intern prinzipiell alles in 32 Bit berechnet.

Kurz gesagt bietet eine Karte mit VSA-100-Chip(s) ein speziell auf 16 Bit zugeschnittenes Anti-Aliasing. Die Qualität wird zusätzlich durch einen weiteren Filter erhöht, der ebenfalls im RAMDAC untergebracht ist. Jeder einzelne VSA-100-Chip kann bis zu 2 Subpixel berechnen. Für 4x Anti-Aliasing rendern daher beide Chips jeweils das ganze Bild.

Der VSA-100 Chip verwendet eine fortgeschrittene Supersampling-Technik. Die Vorteile sind: Bessere Kantenglättung durch rotiertes Abstast-Raster, geringere Bandbreiten-Anforderungen als die herkömmliche Methode und Optimierungen für den 16 Bit Modus. Der Nachteil dieser bandbreite-sparenden Methode ist der erhöhte Speicherplatz-Bedarf.

Die RAMDAC-Filterung spart allerdings nur dann Bandbreite, wenn die Framerate im Verhältnis zur Monitor-Frequenz einen bestimmten Wert nicht unterschreitet. Das bedeutet konkret, dass der 2x-Modus in sogut wie jedem Fall profitiert, während sich im 4x Modus bei hoher Monitor-Bildwiederholrate ein Nachteil ergeben kann.

Die Voodoo5 beherrscht natürlich auch das perfomancegünstigere 2x Anti-Aliasing. Hierbei erzeugt jeder Chip nach wie vor seine zwei Subpixel. Allerdings ist dann jeder Chip auch für einen anderen Bereich im Bild zuständig. Die SLI-Technik teilt die Monitor-Fläche in Streifen und nummeriert diese durch. Die mit den geraden Nummern berechnet der eine Chip, die mit den ungeraden Nummern der andere. Wie aber steht es bei diesem nur 2x Anti-Aliasing mit der Kantenglättung?

Drei gebräuchliche FSAA-Methoden im Vegleich: RG = rotated grid, OG = ordered grid.
Drei gebräuchliche FSAA-Methoden im Vegleich: RG = rotated grid, OG = ordered grid.

Das Ergebnis zeigt den deutlichen Vorteil des rotierten Abtastrasters: Von der Kantenglättung her sind hier mit nur 2 Subpixeln ähnlich gute Ergebnisse zu erzielen, wie man mit 4 Subpixeln beim geordnetem Raster bekommt. Diese Unterschiede sind auch "live" deutlich zu sehen, ohne dass man Ausschnitte vergrößern muss.

Eine Voodoo5 hat genug Leistung, die 2x-FSAA-Variante noch bei Standard-Auflösungen um 1024x768 sinnvoll einzusetzen. Abgesehen von anspruchsvollen 3D-Shooter wie Quake III Arena kann man mit dieser Karte jedes Spiel mit Anti-Aliasing genießen. Die Multisample-Buffer-Technik macht das Anti-Aliasing so transparent, dass sich praktisch keine Kompatibelitätsprobleme mehr ergeben.

Bei niedrigen Auflösungen bis 800x600 ist sogar die leistungshungrige, aber sehr effektive 4x-Kantenglättung sinnvoll. Obwohl der Aufwand ähnlich hoch wie bei der von nVidia eingeführten 2x2 Methode ist, erzeugt das rotierte Raster eine spürbar bessere Qualität. Doch bei 4x Anti-Aliasing kann die Voodoo5-Karte bestimmte Vorteile ihrer Dualchip-Technik nicht nutzen, deshalb ist die 2x-Variante meistens sinnvoller.

Anti-Aliasing zusammen mit sehr hoher Auflösungen und sehr hoher Geschwindigkeit gleichzeitig kann aber selbst eine Voodoo5 nicht bieten. Die Ausnahme ist natürlich die 3dfx Voodoo5 6000, wovon allerdings nur eine zweistellige Stückzahl produziert wurde. Sie kann 4x Anti-Aliasing noch im SLI-Modus ausführen und bietet als Bonbon 8x Anti-Aliasing an.

Die Texturen werden natürlich mit 4x Anti-Aliasing, egal ob nun ordered oder rotated grid, in jedem Fall mehr verbessert als mit 2x möglich. Doch warum sollte man im Zeitalter des anisotropen Filters überhaupt noch Texturen verbessern?






Kommentare, Meinungen, Kritiken können ins Forum geschrieben werden - Registrierung ist nicht notwendig Zurück / Back Weiter / Next

Shortcuts
nach oben