PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Verhalten der Gammakorrektur bei AMD


aufkrawall
2012-08-08, 21:52:08
Ausgehend von den Beobachtungen bei der AMD Leo Techdemo (http://www.forum-3dcenter.org/vbulletin/showthread.php?t=530667), hier nun also die Überprüfung, wann bei AMD die Gammakorrektur eingeschaltet ist oder nicht.

Im Nvidia-Treiber gibt es ja eine Option, mit der man diese regeln können soll.
Ich hab allerdings weder bei D3D, noch bei OpenGL einen Unterschied feststellen können. Ist also wohl immer aus.

Wäre gut, wenn wir alle in Frage kommenden APIs (DX9, DX11 & OpenGL) abklopfen und bei DX9 auch mal erzwingen anstatt nur in-game AA zu nutzen oder aufzuwerten.

Was wären gute Beispiele?
Für DX9 bietet sich imho HL2 (ohne PP) ganz gut an, da man dort sowohl in-game AA nutzen als auch perfekt erzwingen kann.
Für DX11 vielleicht Heaven? Da kann man auch ein Savegame austauschen.
Da könnten wir sowohl MSAA als auch SGSSAA testen.
Ginge auch mit OpenGL.

Wie würden eure Vorschläge lauten? :)
Screens sollten einheitlich in 1080p PNG sein.

samm
2012-08-08, 22:25:10
Was spricht denn dagegen, die Leo-Demo zu verwenden? Offenbar bringt man mit einer nVidia ja auch ein Bild hin. Da könnte man bei zwei identischen Frames mal vergleichen. Oder würden sich da eher Unterschiede im Samplemuster abzeichnen, hm...

Mit Heaven könnte ich dienen, HL2 habe ich nicht.

Raff
2012-08-08, 22:27:03
Vergleichen wir Ati gegen Nvidia oder nur Atis Gammelkorrektur? Ersteres ist immer tricky, weil das Samplemuster nicht identisch ist.

Das wäre/ist ein Thema für Mr. Lolman. :D

MfG,
Raff

HarryHirsch
2012-08-08, 22:32:26
na die gammakorrektur, oder?
bei ersterem steht der "sieger" doch schon fest. :upara:

Raff
2012-08-08, 22:35:05
Ach ja? ;) Ab und zu zitierte Relikte wie "Ati hat das bessere AA" gelten schon lange nicht mehr.

MfG,
Raff

HarryHirsch
2012-08-08, 22:37:17
auch ohne bits? :redface:

aufkrawall
2012-08-08, 23:32:27
Was spricht denn dagegen, die Leo-Demo zu verwenden? Offenbar bringt man mit einer nVidia ja auch ein Bild hin. Da könnte man bei zwei identischen Frames mal vergleichen. Oder würden sich da eher Unterschiede im Samplemuster abzeichnen, hm...

Bei Leo ist es schwer, überhaupt das gleiche Frame zu erwischen.
Außerdem hatten wir das doch schon im Leo-Thread getestet. :)

Vergleichen wir Ati gegen Nvidia oder nur Atis Gammelkorrektur? Ersteres ist immer tricky, weil das Samplemuster nicht identisch ist.

Ich dachte an Ersteres.
Wieso sollte das Samplemuster den Test verzerren?
Ich mein, wenn etwas schlechter aussehen sollte, dann kann man das kritisieren. Da ist die Ursache doch nebensächlich.

auch ohne bits? :redface:
Zwischen Bits und von der Anwendung angefordertem AA gibt es im Idealfall keinen Unterschied.

Ich mach mich mal an Heaven...

Edit: Bin zu müde, poste morgen weiter.

Mr. Lolman
2012-08-09, 09:54:46
Ati Gammakorrektur ist generell aktiv. Vor 10 Jahren war das grundsätzlich noch sinnvoll, weil eben keine Postprocessingorgien veranstaltet wurden, und die Aufhellung der Zwischenstufen dem nichtlinearen Helligkeitsempfinden des Auges entgegen kam.

Aber nun gibts an Kanten häufig Colorbleeding durch Bloom, was die Gesamthelligkeit an der Stelle insgesamt erhöht, weswegen die Zwischenstufen, dann idF. doppelt aufgehellt und dadurch tw. gar unsichtbar werden. Der mögliche BQ-Gewinn der Gammakorrektur steht dabei in keinem Verhältnis zum möglichen Verlust.

Deswegen sollte AMD das Relikt aus R300-Zeiten tunlichst abschalten, bzw. optional im CCC aktivierbar machen. Mehr gibts imo dazu nicht zu sagen.

aufkrawall
2012-08-09, 10:09:53
Deswegen sollte AMD das Relikt aus R300-Zeiten tunlichst abschalten, bzw. optional im CCC aktivierbar machen. Mehr gibts imo dazu nicht zu sagen.
Sag das doch gleich. :wink:

@Radeoner: Also sparen wir uns jetzt das Geteste?

Mr. Lolman
2012-08-09, 10:16:47
Ihr könnt natürlich schon Tests machen, aber die Szenen, in denen AMDs MSAA tatsächlich besser aussieht, als NVs werden in der Minderheit sein.

aufkrawall
2012-08-09, 13:21:39
Ihr könnt natürlich schon Tests machen, aber die Szenen, in denen AMDs MSAA tatsächlich besser aussieht, als NVs werden in der Minderheit sein.
Dann halten wir es mal auf Bildern fest. :)

Nvidia DX11 8xMSAA:
http://www.abload.de/thumb/dx118xmsaassbj3.png (http://www.abload.de/image.php?img=dx118xmsaassbj3.png)

8xSGSSAA:
http://www.abload.de/thumb/dx118xsgssaadix65.png (http://www.abload.de/image.php?img=dx118xsgssaadix65.png)

DX9 8xSGSSAA forciert:
http://www.abload.de/thumb/dx98xsgssaasnae5.png (http://www.abload.de/image.php?img=dx98xsgssaasnae5.png)

Screenshot machen ist ein bisschen tricky, weil die Helligkeit schwankt. Also besser mehrere machen und die passenden aussuchen.
Edit: Ach so, AO und Tesselation waren aus, der Rest auf Maximum.

Savegame nach "User\Heaven\save" entpacken und mit F6 laden.
Download (http://www.mediafire.com/?fnc4oc2ghtdbksh)

M4xw0lf
2012-08-09, 13:42:25
Die Rundung vom Zeppelin zeigt unter DX11 SGSSAA noch deutliches Aliasing, mit DX9 forciertes SGSSAA macht das wesentlich besser.

aufkrawall
2012-08-09, 13:46:26
Die Rundung vom Zeppelin zeigt unter DX11 SGSSAA noch deutliches Aliasing, mit DX9 forciertes SGSSAA macht das wesentlich besser.
Ja, perfekt ist das AA von Heaven nicht.
Nachts bei den Lampen (dynamische Lichtquellen) funktioniert es auch nicht richtig.
Man sollte mit den Häusern vor dem hellen Hintergrund allerdings trotzdem einen möglichen Unterschied erkennen können.

samm
2012-08-09, 21:34:38
AMD HD7970, Cat 12.6 (8.98)

DX 11, 8xMSAA:
http://www.abload.de/thumb/dx118xmsaaybpku.jpg (http://www.abload.de/image.php?img=dx118xmsaaybpku.jpg)

DX11, 8xSGSSAA enhanced:
http://www.abload.de/thumb/dx118xsgssaa4yo09.jpg (http://www.abload.de/image.php?img=dx118xsgssaa4yo09.jpg)

DX9, 8xSGSSAA forciert:
http://www.abload.de/thumb/dx98xsgssaa3dp4e.jpg (http://www.abload.de/image.php?img=dx98xsgssaa3dp4e.jpg)

OGL, 8xMSAA:
http://www.abload.de/thumb/ogl8xmsaaker0u.jpg (http://www.abload.de/image.php?img=ogl8xmsaaker0u.jpg)


DX9 scheint das AA ausgesprochen schlecht zu greifen, untersuch grad noch, ob da wirklich SGSSAA aktiv war (den Bäumen nach nicht). [edit]Ist es doch. FPS, teilweise Texturglättung (Geländer, Metallgebäude) und auch LOD-Verschiebung weisen drauf hin (nur MSAA (http://www.abload.de/image.php?img=00035gmuqn.jpg) - aber Alphatexturen werden nicht erfasst? WTF...) SGSSAA lässt sich sowhol erzwingen als auch enhancen.

LOD-Korrektur bei DX11 SGSSAA merklicher als bei nVidia. Geländerstreben schlechter geglättet.

OGL-Beleuchtung ganz anders als DX9/11. AA lässt sich nicht auf SGSSAA aufwerten / erzwingen.

Kann man nun aufgrund der Screens etwas zu Gamma-Korrektur sagen? Ist die Stelle generell geeignet? Müsste ich PNGs hochladen xD (sorry 4 jpg, Heaven ist so voreingestellt gewesen...)

aufkrawall
2012-08-09, 22:05:58
Könntest du die Bilder nochmals als PNG hochladen?
Mit JPEG lässt sich schlecht Pixel vergleichen.



DX9 scheint das AA ausgesprochen schlecht zu greifen, untersuch grad noch, ob da wirklich SGSSAA aktiv war (den Bäumen nach nicht).

Ja, das taugt nicht die Bohne.


LOD-Korrektur bei DX11 SGSSAA merklicher als bei nVidia. Geländer schlechter geglättet.

Die Geländer sind imho ein schlechter Vergleich, weil dort das AA von Unigine nicht richtig funktioniert.
Mir fällt trotz der JPEG-Komprimierung aber ein ausgeprägterer Treppeneffekt an der schrägen Dachkante vor dem weißen Hintergrund mit AMD auf.

Wie gesagt, wir bräuchten noch eine andere Testanwendung für DX9.
Am besten wo die Anwendung selber perfektes/gutes AA anfordert, weil per AMD Treiber forciertes AA inkompatibel mit HDR ist.

samm
2012-08-09, 22:40:54
Was bei nVidia auffällt, ist der Weichspüler über den Buttons bei DX9, und die bessere Glättung unter DX9 verglichen mit DX11. Unter DX11 gefällt mir AMD besser, auch wenn der hintere Teil des Zeppelins bei nVidia besser wegkommt - der obere ist bei AMD glatter, und man hat generell mehr Texturdetails. nVidia DX9 sieht mit Abstand am saubersten aus, dafür auch unscharf, trotz am Baum sichtbarer LOD-Verschiebung... Irgendwie ist nichts eindeutig xD

DX9 SGSSAA ist bei AMD in diesem Benchmark hingegen bescheiden: Kostet Leistung und macht sich nur leicht besser als MSAA.
Ja, das taugt nicht die Bohne.Vergleich mal mit MSAA, hab ich im obigen Post per Edit noch verlinkt - besser ist SGSSAA schon... nur nicht gut :freak:

Irgendwie find ich auch grad nicht, wie ich PNGs erstellen kann mit Heaven, fraps will nur BMP... Also BMP, PNG-isiert:

DX 11, 8xMSAA:
http://www.abload.de/thumb/dx118xmsaasokwn.png (http://www.abload.de/image.php?img=dx118xmsaasokwn.png)

DX 11, 8xSGSSAA:
http://www.abload.de/thumb/dx118xsgssaad0kny.png (http://www.abload.de/image.php?img=dx118xsgssaad0kny.png)

DX9, 8xSGSSAA:
http://www.abload.de/thumb/dx98xsgssaamfjzo.png (http://www.abload.de/image.php?img=dx98xsgssaamfjzo.png)


Bessere DX9-Kandidaten? Gammakorrekturhinweise?

Blaire
2012-08-10, 16:26:57
Im Nvidia-Treiber gibt es ja eine Option, mit der man diese regeln können soll.
Ich hab allerdings weder bei D3D, noch bei OpenGL einen Unterschied feststellen können. Ist also wohl immer aus.

Default@Treiber-Standard ist bei NV die Gammakorrektur immer aktiviert, bei HL2 kann man das z.b. sehr gut erkennen.
Mit:
http://www.abload.de/thumb/hl22012-08-1016-22-48ido4m.png (http://www.abload.de/image.php?img=hl22012-08-1016-22-48ido4m.png)
Ohne:
http://www.abload.de/thumb/hl22012-08-1016-24-115wo0q.png (http://www.abload.de/image.php?img=hl22012-08-1016-24-115wo0q.png)

boxleitnerb
2012-08-10, 16:29:04
Biste sicher? Wenn ich im Inspector schaue, steht die Korrektur standardmäßig auf "off".

aufkrawall
2012-08-10, 16:29:33
Default@Treiber-Standard ist bei NV die Gammakorrektur immer aktiviert, bei HL2 kann man das z.b. sehr gut erkennen.
Wo denn genau?
Ich hatte mal Vergleichsscreens gemacht und keinen Pixel Unterschied feststellen können.

Blaire
2012-08-10, 16:36:35
Wo denn genau?
Ich hatte mal Vergleichsscreens gemacht und keinen Pixel Unterschied feststellen können.

Siehe Screenshots^^ Fairerweise muss ich dazu sagen, daß man die Line-Gamma nur per Inspector abschalten kann, früher ging das noch per Treiber. Default ist es halt immer aktiv.

Hübie
2012-08-10, 16:59:47
Afaik greift die forcierte Gamma-Korrektur bei nVidia nur bei OGL (z.B. Riddick) oder wenn es die Engine (wie eben Source) anfordert anwendet.
Frostbite 2 kann damit z.B. nix anfangen. CryEngine - weiß ich gerade nicht. Mr. Lolman hat ja eh das meiste gesagt ;D Also verplempert nicht zuviel Zeit :freak:

Coda
2012-08-10, 17:27:29
Afaik greift die forcierte Gamma-Korrektur bei nVidia nur bei OGL (z.B. Riddick) oder wenn es die Engine (wie eben Source) anfordert.
Frostbite 2 kann damit z.B. nix anfangen. CryEngine - weiß ich gerade nicht. Mr. Lolman hat ja eh das meiste gesagt ;D Also verplempert nicht zuviel Zeit :freak:
Die Engine kann das nicht anfordern.

Sie kann allerhöchstens das Downsampling selbst machen.

Hübie
2012-08-10, 17:28:54
Na dann eben so rum - hätte ich das Wort anwenden mal da stehen gelassen ;) CE kann das sicher. (?)

Coda
2012-08-10, 17:37:16
Ati Gammakorrektur ist generell aktiv. Vor 10 Jahren war das grundsätzlich noch sinnvoll, weil eben keine Postprocessingorgien veranstaltet wurden, und die Aufhellung der Zwischenstufen dem nichtlinearen Helligkeitsempfinden des Auges entgegen kam.

Aber nun gibts an Kanten häufig Colorbleeding durch Bloom, was die Gesamthelligkeit an der Stelle insgesamt erhöht, weswegen die Zwischenstufen, dann idF. doppelt aufgehellt und dadurch tw. gar unsichtbar werden. Der mögliche BQ-Gewinn der Gammakorrektur steht dabei in keinem Verhältnis zum möglichen Verlust.

Deswegen sollte AMD das Relikt aus R300-Zeiten tunlichst abschalten, bzw. optional im CCC aktivierbar machen. Mehr gibts imo dazu nicht zu sagen.
Da gibt es einiges dazu zu sagen.

Das Problem ist dass ordentliche Engines heutzutage alles im linearen Color-Space rechnen. Das fängt an, dass man den GPUs sagt, dass sie doch bitte von sRGB nach linear konvertieren, bevor sie überhaupt anfangen in den TMUs zu filtern. Bevor man in den Framebuffer schreibt konvertiert man dann als letztes zurück in sRGB. Das geschieht dann aber leider vor dem AA-Downsampling.

Das heißt wenn du Gamma korrektes AA an hast und das Downsampling der GPU benutzt, passiert folgendes:
Texturen (sRGB) -> Shader (linear, HDR) -> Tone Mapping -> Framebuffer (sRGB) -> Downsampling (sRGB -> linear, filtern, linear -> sRGB) -> Finale Farbe.

Um es richtig zu machen, muss es so aussehen.
Texturen (sRGB) -> Shader (linear, HDR) -> Framebuffer (linear, HDR) -> Downsampling (filtern, linear) -> Tone Mapping (linear, HDR -> sRGB) -> Finale Farbe.

Um letzteres zu erreichen, braucht man eigenes Downsampling (mit nem Compute Shader am besten). Dann sieht das auch gut aus.

Wenn Leute sagen, dass nicht gamma-korrekt "besser" sei, zieht's mir aber alles zusammen.

Hübie
2012-08-10, 17:51:01
Naja besser ist dann Definitionssache. Besser in der Leistung. Aber schlechter in der Optik.

Edit: Woher weiß ich wers nutzt und wer nicht? :confused:

Coda
2012-08-10, 18:38:21
Besser in der Leistung? Da gibt's exakt gar keinen Unterschied.

samm
2012-08-10, 20:58:49
Wenn Leute sagen, dass nicht gamma-korrekt "besser" sei, zieht's mir aber alles zusammen.Prinzipiell, weil "gamma-korrekt" korrekt ist, oder praktisch, weil die Gammakorrektur des AA *nicht* für die offenbar beobachteten negativen Effekte auf die Glättung von Kanten überstrahlter Objekte verantwortlich ist?

Letzteres interessiert mich sowieso: Wie und wo auf den Screenshots konkret sieht man nun den negativen Effekt (wenn vorhanden) der Gammakorrektur? Für welche ist das Samplemuster oder der Algorithmus verantwortlich? (Mangelnde Glättung von Alphatexturen ist sicherlich ein Bsp für letzteres, aber sonst?)

aufkrawall
2012-08-10, 21:13:12
Bei Leo hat mans ja deutlich gesehen, und das auch ohne krasse Helligkeitsunterschiede durch HDR.
Wenn es dort wirklich an der Gammakorrektur lag (wovon wohl auszugehen ist), lässt sich doch ohne Zweifel konstatieren, dass sie allgemein die Glättungsqualität verschlechtert.

samm
2012-08-10, 21:48:54
Na ich weiss nicht... mehr oder weniger direkte Vergleiche im Leo-Thread sind ja nur das von dir auf nVidia (http://www.abload.de/image.php?img=leo_d3d112012-07-3020cvu5v.png) mit dem von Harry Hirsch auf AMD (http://www.abload.de/image.php?img=leo_d3d11_2012_07_30_xlu5h.jpg) und die Vermutung von Raff anhand dieser Vergrösserung (http://www.abload.de/image.php?img=1o6jtv.jpg). Ausserdem besagt deine eigene Bemerkung eher relativierend:Wobei ich dazu tendiere, dass das bei dem Kontrast und den paar Pixeln Breite relativ normal bei SG ist.(von hier (http://www.forum-3dcenter.org/vbulletin/showthread.php?p=9407274#post9407274).)

Bei Raffs vergrössertem Beispiel sehe ich jetzt von blossem Auge keine starke Abhängigkeit vom Kontrast zwischen Vordergrund der Kante und Hintergrund was die AA "Zwischenstufen" angeht, hingegen deutlich mehr vom Winkel der Kante.

Man belehre mich bitte eines Besseren (z.B., dass man das gar nicht so feststellen kann ;))

aufkrawall
2012-08-10, 23:15:18
Na ich weiss nicht... mehr oder weniger direkte Vergleiche im Leo-Thread sind ja nur das von dir auf nVidia (http://www.abload.de/image.php?img=leo_d3d112012-07-3020cvu5v.png) mit dem von Harry Hirsch auf AMD (http://www.abload.de/image.php?img=leo_d3d11_2012_07_30_xlu5h.jpg) und die Vermutung von Raff anhand dieser Vergrösserung (http://www.abload.de/image.php?img=1o6jtv.jpg). Ausserdem besagt deine eigene Bemerkung eher relativierend:(von hier (http://www.forum-3dcenter.org/vbulletin/showthread.php?p=9407274#post9407274).)

Das war ja nur auf die Nvidia-Bilder bezogen. :)


Bei Raffs vergrössertem Beispiel sehe ich jetzt von blossem Auge keine starke Abhängigkeit vom Kontrast zwischen Vordergrund der Kante und Hintergrund was die AA "Zwischenstufen" angeht, hingegen deutlich mehr vom Winkel der Kante.

Ich seh z.B. Beim Übergang von Wasser und Felsen bei AMD eine härtere Kantenabstufung.
Genau so bei der schwarzen Kante darunter oder dem Herd vor der Wand, dem Wandvorsprung rechts neben dem Burgfräulein etc.

Edit: Die LOD-Verschiebung finde ich bei dem Beispiel auch eher suboptimal. Das Specular etwa auf dem Ritter sieht mit zu aliased aus.