PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Verwirrung um AA-Modi


Gast
2019-05-14, 18:51:02
Also ich habe sehr lange nicht mehr gespielt, das letzte mal um 2008 herum. Ich habe jetzt einen neuen Laptop mit einer GTX 1050 Ti + Core i7 und wollte mal wieder Computerspiele spielen (The Witcher).

Problem: Im Spiel selbst ist AA ausgegraut. Weiß nicht, wieso.

Habe jetzt versucht, es treiberseitig zu erzwingen mit "Beliebige Anwendungseinstellung außer Kraft setzen", bin aber verblüfft, wieviele Modi es mittlerweile gibt. FXAA, MFAA, SSAA (und wo ist das normale MSAA geblieben?). Es scheinen aber alle nicht zu funktionieren. Ich habe immer kleine Treppchen, egal was ich probiere.

Frage 1: Wo ist das "stinknormale" MSAA?

Frage 2: Welche Modi funktionieren überhaupt zusammen? Wie kriege ich z. B. 4x MSAA + 2x SSAA (um transparente Texturen zu glätten) hin?

Frage 3: Ich habe jetzt nur oberflächlich gegooglet, dass FXAA sozusagen das neue MSAA ist, da neuere Spiele nicht mehr kompatibel sind mit MSAA? Kann man das so sagen? Was sind die Unterschiede?

Frage 4: Witcher 1 ist ja ein "altes" DX9-Spiel, da sollte es doch möglich sein, AA hinzubekommen, wieso geht es bei mir nicht?

Ja, also die Fragen scheinen sicherlich komisch für die Freaks hier, aber ich bin quasi von 2008 in die Zukunft katapultiert worden. :D

Gast
2019-05-15, 21:16:35
Frage 1: Wo ist das "stinknormale" MSAA?

Das stinknormale MSAA ist wie schon immer (zumindest seit es MSAA gibt) die Yx Modi (also 2x 4x 8x)


Frage 2: Welche Modi funktionieren überhaupt zusammen? Wie kriege ich z. B. 4x MSAA + 2x SSAA (um transparente Texturen zu glätten) hin?


Du kannst prinzipiell Antialiasing auf 4x aktivieren (was MSAA ist) und gleichzeitig Transparenz 2x SSAA aktivieren.


Frage 3: Ich habe jetzt nur oberflächlich gegooglet, dass FXAA sozusagen das neue MSAA ist, da neuere Spiele nicht mehr kompatibel sind mit MSAA? Kann man das so sagen? Was sind die Unterschiede?

AA Forcieren funktioniert mit neueren Engines in der Regel nicht.

FXAA ist ein Post-Processing-Filter, der eine Kantenerkennung beinhaltet und die erkannten Kanten (achtung Wortspiel) verwischt. Dieser kostet daher auch kaum Leistung, verringert allerdings die Bildschärfe.

Häufig verwendet wird von Spielen auch TAA, was grob gesagt so funktioniert, dass mehrere aufeinanderfolgende Bilder mit leicht unterschiedlichen Subpixelpositionen gerendert werden. Es werden dann vom aktuellen Bild Bewegungsvektoren zu den vorherigen Bildern ermittelt, und die Bilder dann miteinander verrechnet.

Das kostet auch nur recht wenig Leistung (normalerweise deutlich unter 10%), da nicht mehr Pixel als ohne AA berechnet werden, und nur das aktuele Bild mit den eh schon vorhandenen Bildern die zuvor Berechnet wurden vermischt werden.

TAA hat den Vorteil, dass es sehr ruhige Bilder erzeugt, da es nicht nur ein räumliches sondern auch ein zeitliches Antialiasing ist.
Es erzeugt ebenfalls etwas Unschärfe, die allerdings in der Regel geringer als bei FXAA ist und dabei eine bessere Glättungswirkung erziehlt.
Ein weiterer Nachteil ist, dass es bei manchen Bildteilen prinzipbedingt nicht funktionieren kann, wenn nämlich für die Bildteile keine Informationen aus vorherigen Bildern vorhanden sind, beispielsweise wenn du eine instant 180° Drehung machst, oder wenn Objekte im Bild sich gegenseitig Verdecken, bzw. Objekte im vorherigen Bild einfach noch nicht im Sichtbereich waren.

TAA wird deshalb oft mit FXAA kombiniert, wobei FXAA die Bildteile behandelt in denen TAA in Informationen fehlen und der Rest mit TAA geglättet wird.

Nicht unähnlich ist übrigens MFAA, welches allerdings nur in Kombination mit Multisampling funktioniert. Hier werden beispielsweise 2 aufeinanderfolgende Bilder mit 4xMSAA berechnet, allerdings mit jeweilig unterschiedlichen Subpixelpositionen. Diese werden dann wieder miteinander verrechnet, so dass du theoretisch die Bildqualität von 8xMSAA zu den Kosten von 4xMSAA bekommst.

MFAA wird, wenn im Treiber aktiviert, immer eingesetzt wenn MSAA zum Einsatz kommt, unabhängig ob vom Treiber forciert oder im Spiel eingestellt.

Es gibt dann noch MLAA, welches im Grund ein verbessertes FXAA ist und bei gleicher Glättungswirkung weniger Unschärfe erzeugt, bzw. bei gleicher Unschärfe eine bessere Glättungswirkung erreicht.


Frage 4: Witcher 1 ist ja ein "altes" DX9-Spiel, da sollte es doch möglich sein, AA hinzubekommen, wieso geht es bei mir nicht?


Ich vermute mal, dass die Engine auch schon Renderingtechniken verwendet die sich damit nicht vertragen.

Deferred Rendering war auch schon mit DX9 möglich und verträgt sich mit MSAA sehr schlecht, es funktioniert entweder gar nicht, und/oder kostet verdammt viel Performance, schon fast so viel wie SSAA.

Bei halbwegs modernen Spielen muss AA vom Spiel selbst implementiert sein, was heutzutage auch meistens der Fall ist.

Das einzige was sich noch halbwegs erzwingen lässt ist FXAA, was aber auch nicht empfehlenswert ist, da es wie gesagt Unschärfe erzeugt, und wenn das Spiel selbst FXAA implementiert ist es immer die bessere Wahl, da das Spiel beispielsweise Teile des bildes Ausnehmen kann und du damit kein unscharfes HUD erhälst.

Was auch noch möglich ist, ist DSR, was allerdings streng genommen auch Spieleunterstützung braucht.
DSR macht nichts anderes, als Auflösungen freizuschalten die über der Auflösung deines Monitors liegen.

Im Spiel musst du dann entsprechend die höhere Auflösung anwählen und erreichst dann effektiv SSAA, natürlich zu sehr hohen Kosten.