PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Kolumne über AA von mir aus Studienzeiten - zum Lachen und Nachdenken


MadManniMan
2007-02-21, 23:55:50
Mei, ich durchforste gerade die Überreste meines inzwischen ein Jahr lang beendeten Studiums und stolperte gerade über einen 'Kurzvortrag', den wir über ein beliebiges Thema halten sollten - wobei einzige Vorraussetzung die Mitangabe einer sog. 'Mindmap' war.
Das Ganze ist stümperhaft, bestimmt von einer Milchmädchenrechnung, ich habe teilweise Worte vergessen (und das bleibt auch so :D ) und arrogant ist es auch noch, vom schlechten Stil reden wir erst gar nicht - aber dennoch gibt es eine schöne Quintessenz, wenn man das Thema an sich ranläßt... von daher, viel Spaß!

(verfaßt irgandwann ende Dezember 2004)

3D-Spiele für den PC – macht Kantenglättung hohe Auflösungen unwichtig?

Nun, liebe Zuhörer, ich möchte Sie mit der für viele kryptischen Thematik von Anti-Aliasing Varianten in aktuellen Computerspielen vertraut machen, wobei ich besonders auf die 3D-Beschleuniger der aktuellen Generation eingehen möchte.

Hierbei geht es speziell um einen Teilpunkt, an dem sich die Geister scheiden: nutzt man lieber hohe Bildschirmauflösungen, oder kompensiert man die Nachteile einer vergleichsweise niedrigen Auflösung lieber mit Maßnahmen, die mehr Informationen in die geringere Anzahl von Bildelementen integrieren. Oder sollte man vielleicht sogar die sprichwörtlich „goldene Mitte“ suchen, also auf eine Kombination hinarbeiten, die bei ausreichender Leistung die subjektiv höchste Qualität auf den Monitor bringt?

Gänzlich objektivierbar ist diese Thematik natürlich nicht, denn in wie so vielen Bereichen des Lebens und gerade der Freizeitbeschäftigung entscheidet nicht letztlich der Geschmack darüber, ob man sozusagen die theoretisch vernünftigste Lösung vorzieht.

Doch zuerst möchte ich ganz kurz für die weniger versierten unter anreißen, womit sich denn diese eher als Kolumne gedachte Präsentation befasst.
3D-Spiele werden über eine virtuelle Projektion von Dreiecken(Polygone) im – wie der Name schon sagt – dreidimensionalen Raum erreicht, wobei diese geometrischen Objekte durch „Tapezierungen“(Texturen) mit Strukturen versehen werden. So wird eine Wand z.B. durch zwei aneinander angrenzende Dreiecke simuliert, die durch ihre Anordnung ein Rechteck bilden. Damit man nicht nur die Umrisse dieser Vielecke sieht, werden die Polygone mit einer Textur „beklebt“, die wie eine fotografierte Wand aussehen, also z.B. das 2D-Abbild von angeordneten Ziegelsteinen besitzen.

Nun werden ja Bilder auf dem Monitor über eine begrenzte Anzahl von Pixeln dargestellt, gängige Auflösungen sind hierbei 800 horizontale mal 600 vertikale Pixel, kurz 800*600 genannt, aber auch 1024*678, oder 1280*1024.
Hierbei wird dann für jeden Bildpunkt berechnet, wie die in den virtuellen Raum projizierte 3D-Welt an dieser Stelle aussieht.

Das größte Problem sind die Begrenzungen der Dreiecke, da die Texturen, also die darauf befindlichen Strukturen zwar bei geschlossenen Objekten die Übergänge recht fließend erscheinen lassen, es aber an der Abgrenzung zu einer mehr oder weniger starken Aufrasterung des Bildes kommt. Diagonal im Raum stehende Linien werden somit durch eine Folge von versetzten Pixeln simuliert, die eine störende Treppe bilden. Je größer die Bildschirmauflösung nun ist, desto feiner sind diese Stufen und desto weniger unnatürlich wirkt das Bild. Eine Auflösung von 1280*1024 bietet eine etwa 2,7 Mal so große Pixelmenge, wie 800*600 und erzeugt dadurch ein schärferes und natürlicheres Bild, die Berechnung dessen verbraucht natürlich ebenso die 2,7fache Leistung.
Und hier deutet sich das Hauptproblem der Thematik an: die begrenzte, zur Verfügung stehende Rechenleistung von Grafikkarten. Für den Eindruck eines flüssigen Bildablaufs etwa beim virtuellen Durchstreifen eines Waldes sollten es schon 35 - 40 einzelne Bilder pro Sekunde sein, da nicht einfach wie bei Filmen mit Bewegungsunschärfe gearbeitet werden kann, was schon bei 25 Bildern pro Sekunde ein scheinbar ruckelfreies Ablaufen der Szene entsteht.

Befinden wir uns nun also in diesem virtuellen Wald und bewegen uns bei 800*600 mit angenommenen 80 Bildern pro Sekunde durch die Szene, stören uns aber an der Grobkörnigkeit des Bildes und der Treppenbildung an den Rändern der Bäume, hätten wir in einer Auflösung von 1280*1024 zwar ein schöneres Bild, aber nur noch – ausgegangen davon, dass die Grafikkarte die bei der Erstellung der Szene limitierende Komponente ist - 80 / 2,7 = 29,6 Bilder pro Sekunde, womit ein ruckelnder, wiederum störender Ablauf der Szene entsteht, womit wir uns nicht zufrieden geben wollen.
Alternativ greifen wir auf die Auflösung 1024*768 zurück, womit wir nun 80 / 1,6 (da das Verhältnis von Bildpunkten von 1024*768 im Vergleich mit 800*600) = 50 Bilder pro Sekunde erreichen würden. Somit erreichen wir einen flüssigen Ablauf der Szene und auch ein schöneres Bild in 800*600, jedoch nicht die Brillanz von 1280*1024. Da wir mit 50 Bildern pro Sekunde noch etwa 15 Bilder pro Sekunde „übrig“ haben, bis durch eine zu geringe Anzahl an Bildern der Bildverlauf zu stockend wäre, können wir diese Rechenleistung in Anti-Aliasing umsetzen.
Bei aktuellen Beschleunigern ist hierbei das Multi Sampling die vorzuziehende Variante. Diese errechnet an den störenden Kanten der Polygone, wo sich also wie gesagt die störenden Treppen bilden durch eine höhere Grafikkarten interne Auflösung in den angrenzenden Pixeln Zwischenstufen zwischen den Farbkontrasten und erzeugt durch die entstehenden Farbverläufe ein virtuelles Abschwächen des störenden Treppeneffektes.
Benutzen wir nur innerhalb dieser Kantenpixel eine intern viermal so hohe Auflösung, haben wir also eine virtuelle Auflösung dieser Kanten von 2048*1536, was feinere Strukturen als bei 1280*1024 bedeutet.
Günstigerweise „kostet“ die Berechnung dieses Effektes auch nur dort Leistung, wo auch tatsächlich Dreieckskanten vorhanden sind. Da eine 3D-Szene typischerweise allerdings nur zu 5% aus Kantenpixeln besteht, müssen also nur diese 5% mit einer höheren Genauigkeit berechnet werden. Wir kämen über die Berechnung 50 Bilder/Sekunde + 2,5 Bilder/Sekunde (erst einmal fällt in der Rechnung der mit höherer Auflösung berechnete Teil weg) – 4*2,5 Bilder/Sekunde (die betroffenen Pixel werden intern viermal Berechnet) auf 42,5 Bilder/Sekunde, was einen immer noch sehr flüssigen Bildablauf bedeutet.

Wir haben also ausgegangen von „zuviel“ Leistung in 800*600 einen flüssigen Bildablauf in 1024*768 mit vierfacher Multi Sampling Kantenglättung, was ein weniger grobes Bild als in 800*600 bedeutet, aber auch ein weniger stotterndes, wie in 1280*1024, wobei sogar feinere Übergänge an den Polygonbegrenzungen als in dieser hohen Auflösung bestehen.
Natürlich könnte man auch höhere Kantenglättungsmodi in 800*600 verwenden, oder auch noch geringfügig höhere in 1024*768, da ja noch ein wenig Leistung im Überschuss vorhanden ist, doch spätestens hier entscheidet dann der Geschmack.


Somit lässt sich also Fazit ziehen, dass hohe Auflösungen durch Kantenglättung nicht ihre Daseinsberechtigung verlieren, aber in Kombination mit dieser die sinnvollste Einstellung für 3D-Spiele bieten. Das Suchen der „goldenen Mitte“ lohnt sich dementsprechend, um die Leistung der Grafikkarte dem eigenen Geschmack nach am geschicktesten in Bildqualität umzusetzen.

Ich danke für ihre Aufmerksamkeit!


Mind-Map:

Problematik: Leistung in Bildqualität umsetzen -> höhere Auflösung oder Kantenglättung ? -> Kombination!

knuglifix
2007-02-22, 09:22:28
aber wird kantenglättung nicht wieder unsinnig wenn man einen TFT einsetzt? wie sieht das bei OLEDs oder wie die neue technik heisst aus?

wenn ich MotoGP2 spiele sehe ich nur geringfügig einen unterschied ob ich auf dem TFT mit oder ohne Kantenglättung spiele. und wenn die zahl der TFTs steigt und auch nachfolge techniken von dem rastereffekt betroffen sind .. macht es doch die kantenglättung überflüssig.

Raff
2007-02-22, 09:32:05
Warum sollte AA mit einem TFT unsinnig werden? Im Gegenteil, die Dinger sind schärfer ("besser"), da fallen harte Kontraste (z.B. Polygonkanten) noch störender auf. Ergo muss man da feines AA anmachen, um den Effekt zu beseitigen. Das Motion Blur, welches so mancher alter Flachmann gratis appliziert, ist IMO nicht geeignet, um das Bild zu "glätten". ;)

MfG,
Raff

Das Auge
2007-02-22, 10:43:40
Nach dem Vortrag sind dir die Herzen der Mädelz bzw. Kommilitoninnen sicher nur so zugeflogen :D

Interessant finde allerdings folgendes:

Und hier deutet sich das Hauptproblem der Thematik an: die begrenzte, zur Verfügung stehende Rechenleistung von Grafikkarten. Für den Eindruck eines flüssigen Bildablaufs etwa beim virtuellen Durchstreifen eines Waldes sollten es schon 35 - 40 einzelne Bilder pro Sekunde sein, da nicht einfach wie bei Filmen mit Bewegungsunschärfe gearbeitet werden kann, was schon bei 25 Bildern pro Sekunde ein scheinbar ruckelfreies Ablaufen der Szene entsteht.

Motion Blur wird doch auch bei Spielen eingesetzt? Mal abgesehen davon, daß ich diesen Effekt überhaupt nicht mag und bei NFSMW z.B. (mittels externem Tool - großartig EA :uclap:) abgeschaltet hab, war das doch auch 2004 schon möglich?

Ansonsten ein lesenswerter Vortrag für Neu-Spieler oder (bislang) Technik-unkundige Spieler. Alle Nicht-Spieler dürften wohl bei der Thematik eingepennt sein :ulol:

Gast
2007-02-22, 10:58:20
geniale mindmap ^^

MadManniMan
2007-02-22, 15:27:59
aber wird kantenglättung nicht wieder unsinnig wenn man einen TFT einsetzt? wie sieht das bei OLEDs oder wie die neue technik heisst aus?

wenn ich MotoGP2 spiele sehe ich nur geringfügig einen unterschied ob ich auf dem TFT mit oder ohne Kantenglättung spiele. und wenn die zahl der TFTs steigt und auch nachfolge techniken von dem rastereffekt betroffen sind .. macht es doch die kantenglättung überflüssig.

Ich wette mit Dir, daß Du auch nicht so große Unterschiede zwischen 1280*1024 und 1152*864 siehst ... stimmts? Ich vermute, daß Du einfach weniger sensibel bist - aber bevor ich voreilige Schlüsse ziehe: nach wieviel ms schaltet Dein TFT?

Warum sollte AA mit einem TFT unsinnig werden? Im Gegenteil, die Dinger sind schärfer ("besser"), da fallen harte Kontraste (z.B. Polygonkanten) noch störender auf. Ergo muss man da feines AA anmachen, um den Effekt zu beseitigen. Das Motion Blur, welches so mancher alter Flachmann gratis appliziert, ist IMO nicht geeignet, um das Bild zu "glätten". ;)

MfG,
Raff

...genau so sehe ich das im Übrigen aus - die Unschärfe bei CRTs macht AA auf TFTs erst so recht sichtbar.
Mäßige TN-Panels wie das meine lassen AA nebenbei lang nicht so gut wirken.

Nach dem Vortrag sind dir die Herzen der Mädelz bzw. Kommilitoninnen sicher nur so zugeflogen :D

Ach Mann... ich hatte die VL (um 15.00 Uhr ^^ ) verpennt und mein Vortrag wurde vom Dozenten als einer von dreien vorgetragen - er fand ihn katastrophal arrogant.
Ich fürchte, er hat mein anliegen nicht verstanden :D


Motion Blur wird doch auch bei Spielen eingesetzt? Mal abgesehen davon, daß ich diesen Effekt überhaupt nicht mag und bei NFSMW z.B. (mittels externem Tool - großartig EA :uclap:) abgeschaltet hab, war das doch auch 2004 schon möglich?

Ich persönlich werde eine Motionblur freie Darstellung bei hohen Bildfrequenzen eben jenem Effekt oft vorziehen - MB mach ich mir in meinem Kopf selbst, zumal ich oft Schärfe will. Aber eine richtige MB-Implementation wie in angekündigten Engines kann filmähnlich eine bewußte Athmosphäre schaffen und da aushelfen, wo mein Hirn aufgrund der Beschränkung von Bildschirmen kein natürliches Motionblur mehr zaubern kann.

Bisher gab es keine einzige vernünftige MB-Implementation - vor allem nicht 2004. Alles Fakes. Richtiges MB zähle ich sogar eher noch zu Anti Aliasing - es wäre nämlich zeitliches.


Ansonsten ein lesenswerter Vortrag für Neu-Spieler oder (bislang) Technik-unkundige Spieler. Alle Nicht-Spieler dürften wohl bei der Thematik eingepennt sein :ulol:

Soweit ich von meinen Freunden weiß, haben alle herzhaft gelacht...

geniale mindmap ^^

...vor allem darüber :D

Gast
2007-02-22, 15:36:11
Ich wette mit Dir, daß Du auch nicht so große Unterschiede zwischen 1280*1024 und 1152*864 siehst ... stimmts?Eine von beiden Auflösungen wäre bei Vollbilddarstellung jedenfalls verzerrt.

MadManniMan
2007-02-22, 16:16:00
Eine von beiden Auflösungen wäre bei Vollbilddarstellung jedenfalls verzerrt.

Meinst, das merkte jeder? ;)

rotalever
2007-02-22, 16:25:25
Meinst, das merkte jeder? ;)
Nein, und vor allem sind manche über die größere Schrift bei geringeren Auflösungen erfreut, obwohl es dadurch völlig unscharf wird.

MadManniMan
2007-02-22, 16:28:27
Nein, und vor allem sind manche über die größere Schrift bei geringeren Auflösungen erfreut, obwohl es dadurch völlig unscharf wird.

Ich hab letzte Woche bei guten Freunden (die schon ein bisschen älter und mit Kindern und Arbeit schon ausgelastet sind) mal geholfen nen Film von ner analogen Cam zu transcodieren - und deren 17" TFT hatte vorher auch noch nie mehr denn 1024*768 gesehen.

Wir sind geschult, Proportionen, Aliasing und Details im Allgemeinen zu erkennen. Der Durchschnittsbürger tut sich mit PAL vs. HDTV schwer.

knuglifix
2007-02-22, 23:43:27
.. Du auch nicht so große Unterschiede zwischen 1280*1024 und 1152*864 ..

ja genau und eine dicke brille trag ich auch .. aber lassen wir das.

MadManniMan
2007-02-23, 07:53:40
ja genau und eine dicke brille trag ich auch .. aber lassen wir das.

Ich Nachhinein muß ich sagen, daß ich das zu harsch formuliert habe - tut mir leid, verzeih mir bitte!
Mich wundert einfach nur, daß Du mit einem LCD Aliasing weniger stark wahrnimmst, ist es doch bei den mir persönlich bekannten Fällen (wie auch mir) so, daß es hier stärker ins Gewicht fällt.