Anti-Aliasing im Detail
24. Februar 2002 / von aths / Seite 17 von 18
Qualitäts- und Leistungsfragen | |
(Alles hat seinen Preis) |
Zunächst stellt sich die Frage, ob die neue Subpixel-Positionierung wirklich Vorteile bringt. Beim Multisampling wird ja nur einmal pro Pixel, nicht pro Subpixel ein Texturwert bestimmt. Da sollte wenigstens die eine Koordinate für die Filterung, die ja für alle Subpixel gilt, möglichst gut gewählt werden. Die insofern beste Koordinate ist natürlich der Mittelwert der Subpixel-Positionen. Andererseits repräsentiert die Pixelmitte das Pixel am besten, sie stellt eine sehr gute Sampleposition dar. Dank AccuView werden beide Vorteile vereint.
Multisampling behandelt Texturen recht stiefmütterlich, weil nur die Polygonränder geglättet werden. Die Texturierung im Rahmen der Möglichkeiten so gut wie möglich durchzuführen, ist wünschenwert und das wurde hier erreicht.
Zur Frage der Leistung: Wo Licht ist, ist auch Schatten. AccuView spart pro Frame einen Schreibzyklus pro Pixel. Zu welchen Kosten? Zunächst benötigt natürlich jeder Backbuffer seinen eigenen Frontbuffer, so dass die Speicheranforderungen steigen. Bei der größzügigen RAM-Ausstattung ist das kein Problem.
Der Teufel steckt allerdings wie üblich im Detail: Da der RAMDAC das Downsampling übernimmt, muss er nun jedes Frame filtern, welches angezeigt wird (und nicht nur jedes, welches berechnet wurde). Angenommen, der Monitor läuft mit 85 Hz und das Spiel mit 85 fps. Hier wird deutlich Bandbreite gespart. Sinkt die Framerate, muss der RAMDAC weiterhin pro Monitor-Bild jeden einzelnen Frontbuffer neu lesen (und neu filtern). Wann wird das unrentabel?
Bei 2x Anti-Aliasing lohnt die RAMDAC-Filterung, bis die Framerate auf 1/3 der Bildwiederholrate gesunken ist. Ansonsten wäre die alte Methode schneller. Bei 4x Anti-Alasing darf die Framerate nur auf 3/5 der Bildwiederholrate sinken, ansonsten wendet sich die Methode zum Nachteil (vielen Dank an Xmas für das Aufstellen dieser Verhältnisse). Welche praktischen Auswirkunge hat das?
nVidia weiss, dass ihre 4x-Methode wegen der schlechten Subpixel-Anordnung kaum bessere Ergebnisse bringt als die 2x-Methode. Der Kunde wird also vor allem 2x Anti-Aliasing nutzen. Die GeForce4 ist darauf ausgelegt, hier noch 60 fps zu bringen. Selbst wenn sie im Spiel nur (etwas mehr als) 40 fps bringt, so hat die RAMDAC-Filterung bei Bildwiederholraten von bis zu 120 Hz den Geschwindigkeitsvorteil auf ihrer Seite.
Beim 4x Anti-Aliasing ist dies kritischer: Der Bandbreiten-Vorteil wirkt nur bis 3/5 der Bildwiederholrate. Geht man davon aus, dass mit ergonomischen 85 Hz gespielt wird, so sinkt unter 51 fps die Leistung zusätzlich. Damit ist auch der bei der GeForce4 verwundliche Performancedrop beim 4x-Anti-Aliasing erklärt. Abhilfe: Die Spiel-Optionen so einstellen, dass die Framerate über den kritischen Punkt gelangt - oder die Bildwiederholrate des Monitors senken.
Man mag sich nun fragen, ob dieser Zug von nVidia klug war. Vermutlich überlegten sie wie folgt: Viele User werden in 60 Hz spielen, weil die Windows 2000/XP Treiber das standardmäßig so einstellen. Hier muss selbst beim 4x Anti-Aliasing die Framerate schon unter 36 fps sinken, ehe die Nachteile zur Geltung kommen. Alles in allem profitiert man in den meisten Fällen, so dass diese Design-Änderung durch AccuView zu begrüßen ist.
Durch den Speed-Up mittels Verlagerung des Downsamplings in die RAMDAC-Logik (angewendet in VSA-100, NV17, NV25) können sich auch Nachteile ergeben. Im allgemeinen überwiegen die Vorteile aber.
Nicht unerwähnt sollte bleiben, dass der RAMDAC wohl nicht umsonst 10-bittig ausgelegt wurde: Werden vier 32-Bit-Backbuffer überlagert, kann ein Grundfarben-Wert 10-Bit-Präzision erreichen.