PDA

View Full Version : Ein paar Fragen zum AA


RobinSword
January 1st, 1970, 01:00 AM
Erst einmal eine große Gratulation zu den Beschreibungen der einzelnen
Modi im Manual. Obwohl diese auf englisch sind, sind es die besten und
am verständlichsten geschriebenen Erklärungen, die ich bis jetzt
gelesen habe!

Trotzdem zwei kleine Fragen:

1. Beim Multisampling steht:
"So the 4x4 mode can only be used with 1024x768 or less."
Was passiert, wenn ich ein Spiel z.B. mit 1280x1024 bei aktiviertem
AA 4x4 spiele?

2. Welche Anti-Aliasing-Methode bringt Qualitäts-mäßig das beste Ergebnis? Supersampling 4x4, oder? Falls ja, wie groß ist der Unterschied
zu Combined 16xS? Ich hab zwar schon versucht, es mit der Visual
Presentation rauszufinden, aber irgendwie kann ich kaum einen
Unterschied erkennen zwischen Supersampling 4x4 und Combined 16xS.

BTW: Habe eine Geforce 6800 GT

PS: Gibt es auch irgendwo einen Artikel in dem der Unterschied zwischen
Bilinearer, Trilinearer und Anisotropischer Filterung erklärt wird (inkl. Mipmapping etc.) ?

Grestorn
January 1st, 1970, 01:00 AM
Danke :)

Wenn Du 4x4 bei höheren Auflösungen spielst, nimmt der Treiber den höchsten SS Modus der möglich ist. Bei 1280x1024 ist das 2x4, bei noch höheren Auflösungen 2x2.

Was besser ist, 16xS oder 4x4 hängt vom Spiel ab. Wenn man viel Alpha-Test Texturen hat oder viele Texturen mit harten Kontrasten (z.B. Gitter etc.), dann mag 4x4 ein etwas besseres Ergebnis liefern, da diese Texturen dann besser als bei 16xS geglättet werden.

In allen anderen Fällen bringt 16xS mehr.

Gut zu sehen ist das in Gothic 2. Mit 4xMSAA flackern die Texturen für die Bäume und das Gras wie wild. Mit 16xS ist das schon deutlich gemildert aber es flimmert immer noch deutlich wahnehmbar. Mit 4x4 sieht man praktisch kein Flimmern mehr.

Wegen dem Texturfiltern: Ich gehe davon aus, dass Du den Text von nHancer dazu schon gelesen hast (www.nhancer.com/help/AF.htm) oder? Es gibt noch andere Artikel zum Thema, die etwas ausführlicher sind, z.B. auf 3dCenter...

RobinSword
January 1st, 1970, 01:00 AM
Danke für die Infos!

Und gut, dass du dich gleich auf Gothic 2 bezogen hast, als meinem Lieblingsspiel. ;)
Bei Gothic 3, das Januar 2006 erscheinen wird, wird man diese Dinge
dann ja hoffentlich im Grafik-Optionen-Menü einstellen können.


Ich gehe davon aus, dass Du den Text von nHancer dazu schon gelesen hast

Hab ich, aber daraus geht nicht der Unterschied zwischen Bilinearer, Trilinearer, Anisotropischer Filterung und Mipmapping hervor...

Grestorn
January 1st, 1970, 01:00 AM
Nun, die einfachste Art ist point-sampling. Dann werden die Pixel der Textur originalgetreu dargestellt, d.h. wenn Du sehr nah an der Textur bist, siehst du monströse Pixel.

Bilinear bedeutet, dass keine harten Grenzen zwischen den Pixeln der Textur gerendert werden, sondern jeder Pixel sanft in seine Nachbarpixel übergeht. Das ist das mindesteste was man heutzutage an Filter einsetzt.

Trilinear macht nur dann Sinn, wenn man auch MipMaps einsetzt. Der Sinn von MipMaps ist in der Hilfe erklärt, ich kopier den Abschnitt mal hier rein:

"One problem with rendering 3d scenes is the interference of the texture-pixels (also called texels) with the screen resolution. Since the textures have to be shrinked and warped, depending on the distance and angle, this interference will cause heavy shimmering of the textures if the viewer is moving. To avoid this shimmering, which is almost unbearable, so called mip maps are used. Mip maps are variations of the same textures with lower resolutions. The farther away a texture is to be rendered or the more acute the angle of the textured surface is, the lower is the resolution of the used mip map. This effectively elliminates the texture shimmering. Usually mip maps are used together with a trilinear filter to avoid visible lines at the junctions of two mip map levels. For a trilinear filter, 8 texel samples have to be taken for each rendered pixel."

Also, der Trilineare Filter dient dazu, die deutlich sichtbaren Grenzen zwischen zwei MipMap Level zu verwischen, so dass sanft von einnem MipMap zum nächsten gewechselt wird.

Das Problem bei MipMaps ist, dass eine Textur die sehr schräg zum Beobachter liegt (z.B. der Boden oder eine Wand an der man entlang geht) stark in der Auflösung reduziert werden muss - denn eine Ache ist ja aus dem Blickwinkel des Beobachters stark verkürzt weil die Textur schräg zum Beobachter liegt.

MipMaps reduzieren aber die Auflösung immer gleichmäßig in alle Richtungen. Bei den oben beschriebenen schrägen Texturen muss sie aber nur eine Richtung reduziert werden. Ohne AF wird dadurch die gesamte Textur mit geringer Auflösung gerendert, dadurch verschwimmen z.B. Bodentexturen in der Ferne ohne AF.

Mit AF wird die Auflösung nur in der Richtung reduziert die zum Beobachter verkürzt ist. In der anderen bleibt die volle mögliche Auflösung fast erhalten (abhängig vom AF Level).

Alle Klarheiten beseitigt?

RobinSword
January 1st, 1970, 01:00 AM
Super! Vielen Dank für diese ausführlichen Erklärungen!!

Wie würde es sich im Spiel zeigen, wenn Mip Mapping ohne Trilineare Filterung angewendet würde?
Würde man dann sehen, wie dynamisch
die Texturen mal in einer höheren, dann wieder in einer niedrigeren
Auflösung angezeigt werden, was wie ein "umschalten" der Schärfe
aussehen würde?

Und noch eins: Schließen sich die Filterungen gegenseitig aus,
oder kann man auch trilinear und gleichzeitig anisotropisch filtern?

Warum geht die Anisotropische Filterung so sehr auf die Performance,
wenn die Auflösung im Gegensatz zur trilinearen Filterung doch nur in
eine Richtung reduziert wird?

Und zu guter Letzt muss ich doch nochmal nachfragen, was genau
der Unterschied ist zwischen der Nvidia Control Panel Einstellung
"Qualität" und "Hohe Qualität". Ist es mit meiner Karte (6800 GT)
zu Empfehlen, allgemein die Hohe Qualität zu aktivieren?

Fragen, über Fragen. Hoffentlich wird's dir nicht zu viel, du hast
sicher besseres zu tun (ich sagen nur v1.2 ;-))

RobinSword
January 1st, 1970, 01:00 AM
Siehe oben :)

Grestorn
January 1st, 1970, 01:00 AM
Wie würde es sich im Spiel zeigen, wenn Mip Mapping ohne Trilineare Filterung angewendet würde?
Würde man dann sehen, wie dynamisch
die Texturen mal in einer höheren, dann wieder in einer niedrigeren
Auflösung angezeigt werden, was wie ein "umschalten" der Schärfe
aussehen würde?So ungefähr. Man sieht dann die berühmte "Bugwelle", d.h. in konstanten Abstand vom Beobachter sieht man eine "Schwelle" bei der sich offensichtlich die Schärfe der Texturen ändert. Ohne AF ist das sehr sehr deutlich, mit AF nicht ganz so, aber immer noch zu sehen. Wenn man die Optimierungen ("trilineare Optimierung") anhat, wird der Bereich in dem trilinear gefiltert wird schmäler, was dazu führen kann, dass man eine leichte Bugwelle in einigen Spielen wahrnehmen kann.

Und noch eins: Schließen sich die Filterungen gegenseitig aus, oder kann man auch trilinear und gleichzeitig anisotropisch filtern?Man kann nicht nur, man sollte sogar! Bilinear wird sowieso immer gefiltert. Und Trilinear sollte man auch immer filtern.

Warum geht die Anisotropische Filterung so sehr auf die Performance, wenn die Auflösung im Gegensatz zur trilinearen Filterung doch nur in eine Richtung reduziert wird?Weil um diesen Effekt zu erzeugen, mehr Samples aus den Texturen entnommen werden müssen. Das Verfahren ist nicht ganz einfach zu erklären (und ich müsste lügen würde ich behaupten dass ich es ganz verstanden hätte). Es ist aber so, wie auch in der Hilfe beschrieben, dass bereits für einen Trilinearen Filter für jedes Pixel auf dem Schirm 8 Samples aus den Texturen entnommen werden müssen. Bei einem AF erhöht sich diese Zahl drastisch: Bei 2xAF verdoppelt sie sich, bei 4xAF vervierfacht sie sich usw.

Und zu guter Letzt muss ich doch nochmal nachfragen, was genau der Unterschied ist zwischen der Nvidia Control Panel Einstellung "Qualität" und "Hohe Qualität".Tja, an dieser Frage haben sich schon viele die Zähne ausgebissen. Genau weiß es nur nVidia. Sicher ist, dass bei "Hohe Qualität" keine der Optimierungen verwendet werden, auch wenn sie eingeschaltet sind. Aber es gibt noch weitere Optimierungen, die der Anwender nicht getrennt ausschalten kann, denn HQ ist immer noch langsamer als Q mit explizit allen Optimierungen ausgeschaltet.

Ist es mit meiner Karte (6800 GT) zu Empfehlen, allgemein die Hohe Qualität zu aktivieren?Das hängt vom Spiel und Deinem Empfinden ab. Ich sehe nur bei sehr wenig Spielen irgendwelche Nachteile von "Qualität". Eines davon ist Kotor2. Also verwende ich bei KotoR2 "HQ" und sonst "Q". Wenn Dir bei einem Spiel eine Bugwelle auffällt (also ein Schimmern von Texturen in einem bestimmtem konstantem Abstand vom Beobachter) obwohl sonst eigentlich kaum was schimmert, dann kannst Du versuchen testweise "HQ" einzustellen (aber global, bei vielen Spielen funktioniert "HQ" im Profil nicht, Treiberbug!). Wenn es besser wird, bleib bei "HQ" ansonsten würde ich lieber die bessere Framerate bei "Q" nutzen.

Fragen, über Fragen. Hoffentlich wird's dir nicht zu viel, du hast sicher besseres zu tun (ich sagen nur v1.2 ;-))Ist schon ok. Heute kommt meine 7800GTX (erst mal nur eine), dann hab ich am Wochenende einen Grund mal wieder was zu tun (die neuen AA Modi in nHancer einbauen).

Bis zur 1.2 (wohl eher 2.0) wird es aber noch ne Weile dauern, weil ich so viele Ideen habe, die teilweise viel viel Arbeit bedeuten. Aber ich werde zwischendrin sicher die eine oder andere Beta einschieben, u.a. auch für XP64 kompatibilität und die neuen AA Modi.

RobinSword
January 1st, 1970, 01:00 AM
Nochmals vielen Dank!

Wow, eine 7800 GTX. Nicht schlecht! Von welchem Hersteller?
Mein Favorit ist ja immer MSI.

Eine neue offizielle Forceware (77.72) gibt es inzwischen ja auch.
Wobei ich die bei mir wieder deinstalliert hab und zurück auf 71.89
gegangen bin, da die neue mir keinen spürbaren Performance-Vorteil
gebracht hat und mich der Bug genervt hat, dass alle Videos, die man
abspielt, total verstrahlt aussehen (hohes Gamma). Der Bug hätte sich
auch lösen lassen, aber egal, ich warte lieber auf die nächste Treiber-
Version. Meiner Meinung nach war das nur ein Schnellschuss von Nvidia,
damit pünktlich zum 7800er Release auch ein Non-Beta-Treiber zur
Verfügung steht, der die neuen Modelle unterstützt.