Kantenglättung in Spielen

AMD beantwortet Fragen zu Morphological Anti-Aliasing (MLAA)

"Grafik-Guru" David Nalasco, der bei AMD den Posten des Senior Technical Marketing Managers innehat, beantwortete im Blog von Dave Erskine einige Fragen zur neuen Kantenglättungsmethode Morphological Anti-Aliasing (MLAA). (George J. King, 18.04.2011)
 
So aktivieren Sie MLAA im Catalyst Control Center.
 
So aktivieren Sie MLAA im Catalyst Control Center. [Quelle: siehe Bildergalerie]
Kannst du uns ein wenig über den Hintergrund des Morphological Anti-Aliasing erzählen?


MLAA hat seinen Ursprung in Konzepten, die es schon länger gibt, insbesondere in Techniken wie "Computer Vision", die bestimmte Formen, Muster oder Kanten in 2D-Bildern erkennen soll. Das macht MLAA in Echtzeit. Bei jedem berechneten Bild werden Kanten erkannt, an denen Treppeneffekte entstehen könnten und dann versucht, das zu beheben. Die grundlegenden Ideen und Algorithmen gibt es schon seit den 90ern, aber es ist erst seit rund einem Jahr möglich, sie schnell und zuverlässig in Echtzeit-Spielen anzuwenden.

Erkläre uns kurz, was MLAA ist und wo der Unterschied zu traditioneller Kantenglättung liegt.

MLAA ist grundsätzlich ein Post-Processing-Effekt. Statt die Kantenglättung durchzuführen, während die Szene berechnet wird, warten wir auf das Ende der Berechnung jedes Bildes, das dann nochmal durch Shader berechnet und gefiltert wird. Der Vorteil der Kantenglättung als Post-Processing-Effekt ist, dass es egal ist, wie die Szene oder das Bild erstellt wird. Die Technik kann fast überall angewendet werden und das hilft bei der Kompatibilität. Wenn also neue Spiele und neue Rendering-Methoden entwickelt werden, gehen wir davon aus, dass MLAA reibungslos und ohne nennenswerte Anpassungen mit allen funktionieren wird.

Kannst du uns ein wenig darüber erzählen, wie traditionelle Kantenglättung funktioniert?

Die heute am häufigsten eingesetzte Technik ist Multi-Sample-Anti-Aliasing (MSAA). Computer-generierte Bilder bestehen aus 3D-Dreiecken, die eines nach dem anderen berechnet werden. Bei MSAA sehen wir uns Pixel an den Ecken dieser Dreiecke an und stellen anhand mehrerer Subpixel innerhalb dieser Pixel fest, wie weit jedes durch ein Dreieck abgedeckt ist. Das ist für Pixel die komplett inner- oder außerhalb des Dreiecks liegen, nicht notwendig. Aus diesem Grund ist MSAA relativ schnell, da es nicht auf jeden Pixel auf dem Bildschirm angewendet werden muss.

Der Nachteil ist, dass man die Position aller Dreiecke in einer Szene kennen muss, damit es funktioniert. Wenn ein Bild berechnet und in Pixel konvertiert wurde, werden die Informationen zu den Dreiecken gelöscht und können nicht mehr für die Kantenglättung verwendet werden. Im Unterschied dazu ist MLAA ein Post-Processing-Effekt, also müssen wir nicht über die Dreiecke oder den Aufbau einer Szene wissen und können die Treppeneffekte trotzdem entfernen.

Gibt es noch etwas, dass du zur technischen Seite von MLAA sagen möchtest?

Die Basis von MLAA ist die Kantenerkennung. Also nutzen wir letztlich einen Post-Processing-Filter, um Kanten mit hohem Kontrast – damit meinen wir hellfarbige Pixel, die an dunkelfarbige Pixel grenzen – in einer Szene zu finden. Wir suchen nach Kanten, deren Seiten Pixel in einem Zick-Zack-Muster aufweisen, das allgemein mit einem Treppenstufen-Effekt in Zusammenhang steht. Es wäre ungewöhnlich, so ein Muster über mehrere Bilder hinweg zu sehen, wenn es nicht durch einen Treppenstufen-Effekt erzeugt ist.

Wir prüfen die Szene also vorab, um solche Kanten zu erkennen und wenn wir sie gefunden haben, läuft die Berechnung, wie die Kante aussehen sollte, wenn es keine Treppenstufen gäbe. Dann mischen wir die helle mit der dunklen Seite der Kante, um etwas zu erschaffen, dass der idealen Form näher ist. Das passiert in einer Reihe von Shader-Berechnungen, nachdem das fertige Bild aufgebaut wurde. Und zwar nur bei den gewissen Kanten der Szene und nicht bei jedem Pixel, was für mehr Geschwindigkeit sorgt.

Gibt es spezielle Herausforderungen oder Einschränkungen bei MLAA?

Eine Einschränkung ist, dass das Bild etwas weicher wird. Wenn das Bild etwas weicher ist, statt sehr scharfe, kontrastreiche Kanten zu haben, ähnelt es eher dem, was man in Filmen oder im Fernsehen sieht. Einige Menschen bevorzugen rein subjektiv schärfere Bilder, also ist es nicht die perfekte Lösung für alle. Eine weitere Herausforderung für MLAA ist sehr feine Schrift. Bei kleiner Schrift, die auf dem Bildschirm nur ein Pixel breit ist, wird MLAA immer noch versuchen, die Kanten zu glätten, was das Lesen etwas erschwert.

In der Zukunft wird es Wege geben, das zu beheben, beispielsweise indem Spiele-Entwickler MLAA selektiv anwenden. Anstatt es über die globalen Einstellungen zu erzwingen, könnten Spiele-Entwickler denselben Programmcode verwenden, diesen aber nur da einsetzen, wo er gut funktioniert und nicht bei sehr feiner Schrift.

Wenn man sich die Unterschiede zwischen herkömmlicher Kantenglättung und MLAA ansieht, warum hat sich AMD entschlossen, MLAA in den neuesten Grafikchips zu unterstützen?

Die Motivation dazu kam durch das Erscheinen von neuen und immer unterschiedlicheren Rendering-Algorithmen oder –Techniken in Spielen, vor allem durch das Erscheinen neuer Versionen von DirectX, wie DirectX 10 und DirectX 11, die nicht besonders gut mit unseren üblichen MSAA-Methoden zusammenarbeiten. Manchmal war es möglich, MSAA zu verwenden, aber dafür musste spezieller Code in das Spiel eingebaut werden, da es nicht mehr wie früher automatisch funktionierte. Einige Spiele-Entwickler haben den notwendigen Code eingebaut, andere nicht.

Das Resultat waren neue PC-Spiele, darunter einige sehr große Titel, die keine Kantenglättung mehr unterstützten. Das sorgte für einige Bestürzung unter den Spielern, da Kantenglättung als Standard gilt, erst recht bei den heutigen High-End-Grafikchips. Wir haben uns eine Reihe von Lösungen angesehen. Eine davon ist, mit jedem Spiele-Entwickler eng zusammen zu arbeiten und zu versuchen, sie zu einer korrekten Unterstützung von MSAA vor der Auslieferung ihres Spiels zu bewegen.

Das ist unsere bevorzugte Lösung und wir tun unser Bestes, aber wir wissen auch, dass das in Zukunft nicht bei jedem Spiel möglich sein wird. Also haben wir uns auch alternative Möglichkeiten angesehen, die vom Spiele-Entwickler unabhängig mit jedem Spiel und jedem Rendering-Algorithmus funktioniert. MLAA stellte sich als großartige Möglichkeit dar, eine tolle Technik, mit der wir das Ziel erreichen konnten.

Ein weiter Grund ist die stetig wachsende Flexibilität unserer Grafikchips, was die Programmierbarkeit, Stream-Computing und allgemeine Berechnungen (GPGPU) angeht. Einer der Vorteile dieser Techniken ist die Fähigkeit, die Art von Post-Processing-Effekten zu beschleunigen, die für MLAA verwendet werden. Also hatten wir einerseits die Fähigkeit im Grafikchip, einige der GPGPU-Features zum Beschleunigen von Post-Processing-Effekten zu verwenden und andererseits einen solchen Effekt, der hochwertige Kantenglättung ermöglicht. So konnten wir das Feature mit hohem Leistungs-Niveau einbauen.

Welchen Nutzen hat MLAA für die Anwender? Ist es nur etwas für Spieler?

Die Vorteile von MLAA sind sicher nicht nur auf Spiele beschränkt, auch wenn es vor allem dafür entwickelt wurde. Es funktioniert mit jedem in 3D berechneten Bild und schließt daher auch professionelle Anwendungen ein, die ähnliche Probleme haben und keine eigene Kantenglättung unterstützen oder mit MSAA schlecht funktionieren. MLAA könnte auch bei Fotos und Videos eingesetzt werden, obwohl wir dafür schon ein ziemlich gutes Angebot an existierenden Post-Processing-Effekten haben.

Welche wirklichen Vorteile werden Spieler sehen?

Der Hauptvorteil ist, dass es mit jedem Spiel funktioniert und damit eine globale Kompatibilität zu DirectX 9, DirectX 10, DirectX 11 und sogar OpenGL bietet. Das schließt auch Spiele ein, die noch gar nicht veröffentlicht wurden. Wir haben die Technik auch mit wirklich alten Spielen demonstriert. Nur zum Spaß ließen wir das Original-Doom in einem Emulator laufen und konnten MLAA trotzdem für die Kantenglättung einsetzen. Das wäre mit existierenden MSAA-Techniken sicher nicht möglich.

Der andere Vorteil ist, dass einige spezielle Fähigkeiten des Grafikchips genutzt werden, um mit ziemlich hoher Leistung zu laufen. Einer der Unterschiede zwischen MLAA und MSAA ist, das MLAA abhängig von der gewählten Auflösung immer gleichviel Leistung beansprucht. In Spielen, die bereits mit den typischen Bildwiederholraten von 30 bis 60 Bildern pro Sekunde laufen, wird der Leistungsverlust durch MLAA sehr gering ausfallen. Man erhält also den Vorteil einer immer und in jedem Spiel funktionierenden Kantenglättung und muss dabei meistens nicht auf viel Leistung verzichten.

Du hast erwähnt, dass MLAA auch deswegen eingebaut wurde, weil so viele Spiele von DirectX 9 bis DirectX 11 und darüber hinaus unterstützt werden. Glaubst du, dass MLAA deswegen an Stelle der traditionellen Techniken zum Standard wird?

Für mich ist MLAA nur ein weiteres Werkzeug, mit dem wir die Bildqualität erhöhen können. Kantenglättung ist ein sehr komplexes Problem und es gibt keine Lösung, sie in allen Fällen perfekt und sehr schnell funktioniert. Also versuchen wir, eine ganze Sammlung von Lösungen für allerlei verschiedene Probleme zu haben. MLAA ist nur ein Werkzeug mehr im Werkzeugkasten. Es löst einige Probleme, gegen die wir zuvor nichts machen konnten und das mit guter Leistung. Ich glaube nicht, dass es andere Formen der Kantenglättung ersetzen wird, es wird sie ergänzen.

Ist es für Spieler besser, MLAA und die Spiel-interne Kantenglättung zu verwenden? Oder sollen sie die Kantenglättung im Spiel deaktivieren und nur MLAA verwenden?

Es ist zwar möglich, MLAA und Spiele-interne Kantenglättung gleichzeitig laufen zu lassen, aber das würden wir nicht empfehlen. Man hätte zwei Algorithmen, die sich um das gleiche Bildqualitätsproblem kümmern und beide kosten Leistung. Grundsätzlich raten wir dazu, zuerst eine vorhandene Spiel-interne Kantenglättung zu aktivieren. Wenn das nicht gut funktioniert oder es Probleme bei der Bildqualität gibt – das Bild sieht nicht so gut aus wie erwartet – dann sollte man MLAA aktivieren und testen, ob es hilft.

Manche Bereiche eines Bildes werden eventuell nicht korrekt geglättet (MSAA funktioniert beispielsweise nicht immer mit bestimmten Dingen in Bildern, beispielsweise Blätter in Bäumen und Pflanzen oder dünne Maschen in Gittern und Zäunen). Wir haben andere Formen der Kantenglättung, die diese Probleme beheben, wie Adaptive Anti-Aliasing und SuperSample Anti-Aliasing, die aber nur unter DirectX 9 erzwungen werden können. Ein Spiel, das MSAA unterstützt, aber DirectX 10 oder DirectX 11 verwendet und die anderen Methoden nicht alle Bereiche des Bildes glätten können, wäre ein gutes Beispiel dafür, MLAA auszuprobieren, obwohl das Spiel selbst bereits Kantenglättung unterstützt.

Wird das Feature von der gesamten AMD Radeon HD 6000-Serie unterstützt?

Ja, wir planen die Unterstützung für die gesamte AMD Radeon HD 6000-Serie. Seit dem Catalyst 11.2 wird zusätzlich auch die AMD Radeon 5000-Serie unterstützt. Die einzige Voraussetzung ist eine DirectX-11-kompatible AMD-Radeon-GPU, die alle Features besitzen, die für MLAA notwendig sind.

Nachdem ich meine AMD Radeon HD 6800-Karte eingebaut habe, wie aktiviere ich MLAA eigentlich?

MLAA ist ein optionales Feature, also kann es durch eine einfache Auswahlbox im AMD Catalyst Control Center aktiviert werden (suche nach dem Tab für Kantenglättung in den 3D-Einstellungen). So wird MLAA zusätzlich zu allen anderen, eventuell aktiven Kantenglättungen verwendet, aber auch, wenn sonst keine andere Kantenglättung durchgeführt wird.

Quelle: NGOHQ
 
 
Alle Artikel zu Grafikkarten von Nvidia und AMD/Ati finden Sie auf der Grafik-Themenseite. Eine aktuelle Grafikkarten-Kaufberatung finden Sie im Artikel Ati- und Nvidia-Grafikkarten: Test-Übersicht und aktuelle Kauf-Tipps. Mehr zum Geforce-Entwickler Nvidia und Radeon-Entwickler AMD erfahren Sie in unseren Themen-Specials.
 
 
 
 
 
  1. Gigabyte GeForce GTX 670 OC
    € 377.80
  2. Palit GeForce GTX 670
    € 329.00
  3. ASUS GTX670-DC2T-2GD5
    € 408.90
  4. Sapphire Radeon HD 7850
    € 209.80
  5. Palit GeForce GTX 670 JetStream
    € 377.50
  6. ASUS GTX670-DC2-2GD5
    € 394.70
  7. Sapphire Radeon HD 7850 OC
    € 218.90
  8. Sapphire Radeon HD 7870
    € 284.30
  9. Gainward GeForce GTX 670 Phantom
    € 389.79
  10. EVGA GeForce GTX 670
    € 357.40
 
Aktuelle Kommentare
Tricky Niki
Schraubenverwechsler
20.04.2011 18:42
AW: AMD beantwortet Fragen zu Morphological Anti-Aliasing (MLAA)

Ich weiß nicht ob jemand anderer auch schon mal dieses Problem hatte, aber bei meiner neuen HD 6950 kam es durch aktivierten MLAA zu "Darstellungsfehler" im 2D Bereich. z.B ist iTunes (aber nur die Startseite vom iTunes Store) nach 1-2 sec verwischt, wie nasse Wasserfarben oder hinter Milchglas (der Rest (Schrift rechts, oben und so war immer noch scharf und lesbar). Auch bei Microsofts Visual C++ 2010 war die Schrift durch MLAA ganz unscharf.....

Sentionline007
Freizeitschrauber
20.04.2011 16:38
AW: AMD beantwortet Fragen zu Morphological Anti-Aliasing (MLAA)

Quote: (Zitat von toni28)
Hm? MLAA wurde mit der 6er Serie eingeführt und AMD hats auch für die 5er Serie freigeschalten. Dass zB. DX10.1 Karten wie die 4er Serie nicht alle DX11-Features beherrscht, sollte dir klar sein.

Postprocessing beherschen Karten von Nvidia seid GeForce 2 und Ati seid 8500. Erzählen kannst du jetzt nicht, das die 5-6er Generation besonndere Bauteile haben, die zwingend vorausgesetzt sind.

Quote: (Zitat von toni28)
Oder ärgerst du dich auch noch immer, dass MS nicht dran denkt, Aero per Patch für WindowsXP nachzuliefern?

Nun Nvidia hat global SGSSAA nachgeliefert. Die haben das auch nicht künstlich so beschnitten und gleichzeitig deklariert, das es nur mit GTX4/5 läuft.

Alle Karten von AMD basieren auf den R600, ergo könnten die die Wirksamkeit des MLAA auch "Global" ausweiten. Machen sie nicht, und ich kaufe sie nicht mehr. Hat man hier schon erwähnt das die in vielen Spielen sowieso kein AA beherschen und das erst per Patch nachreichen mussten? MLAA scheint da nur ein Werkzeug zu sein, mangelnde Kompetenz bei Kooperationen zu kaschieren.

toni28
Komplett-PC-Aufrüster
20.04.2011 09:54
AW: AMD beantwortet Fragen zu Morphological Anti-Aliasing (MLAA)

Quote: (Zitat von PCGH_Marc)
@ toni28

Radeon idR nur unter XP und selbst da selten.


Unter XP idR immer und unter Windows 7 nur mit dem passenden Monitor.


BTW: Übrigens war ich einer der "Downsampling Pioniere" und hab schon im September 2008 damit geworben - zu einem Zeitpunkt wo sich die meisten noch garnix drunter vorstellen konnten

EDIT: Powerstrip unterstützt mittlerweile auch die neueren Radeon Modelle. D.h. die Chancen stehen gut, dass Downsampling auch auf Ati unter Win7 klappt. Habs aber bisher noch nicht getestet.

 
 
1209 User online
Anmelden & mitmachen
Benutzername:
Kennwort:
Angemeldet bleiben
Jetzt mitdiskutieren!
Jetzt bestellbar!
Alles zu Crysis 3
Die besten Deals
Komplett-PCs von PCGH
Komplett-PCs von PCGH
So unterstützen Sie PCGH
Folgen Sie PCGH
Aktuelle Heft-Ausgabe
Welche CPU nutzt du zum Spielen? (Mai 2012)
AMD FX-8xx0 (Zambezi/Bulldozer) (1.87%)
AMD FX-6xx0/4xx0 (Zambezi/Bulldozer) (1.34%)
AMD Phenom II X6 (12.97%)
AMD Phenom II X4 (15.37%)
AMD Phenom II X3/X2; Phenom I; AMD Athlon II X3/X4/Athlon (II) X2/Athlon 64 X2 (4.41%)
AMD A8-/A6-/A4-/E2-/E-/C-Serie (APUs) (0.27%)
Sonstige AMD-CPU (inklusive Mobile) (0.53%)
Intel Core i7-37x0 (K/S/T) (2.81%)
Intel Core i5-35x0/-34x0 (K/S/T) (2.94%)
Intel Core i7-39x0 (X/K) (2.94%)
Intel Core i5/i7-2xxx (K/S/T)/Core i7-3820 (26.47%)
Intel Core i7-9x0 (Sechs Kerne) (0.80%)
Intel Core i7-9xx (Vier Kerne) (5.21%)
Intel Core i7-8x0/i5-7x0 (5.48%)
Intel Core 2 Quad (Extreme) (9.89%)
Intel Core 2 Duo (Extreme) (3.61%)
Intel Core i5-6xx/Core i3-3xx/i5-2390T/Intel Core i3-2xxx (T)/Core i3-3xxx (T/S)/Pentium D-/E-/G-/4-Serie (1.20%)
Sonstige Intel-CPU (inklusive Mobile) (1.87%)
748 Teilnehmer
PCGH-Webshops