Online-Abo
Login Registrieren
Games World
  • 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).

    So aktivieren Sie MLAA im Catalyst Control Center. So aktivieren Sie MLAA im Catalyst Control Center. Quelle: PC Games Hardware 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

    Wissenswert: Mehr Informationen zum Thema finden Sie in:
    AMD Radeon Treiber Download: Crimson Relive Edition 17.4.3
  • Es gibt 31 Kommentare zum Artikel
    Von Tricky Niki
    Ich weiß nicht ob jemand anderer auch schon mal dieses Problem hatte, aber bei meiner neuen HD 6950 kam es durch…
    Von Sentionline007
    Postprocessing beherschen Karten von Nvidia seid GeForce 2 und Ati seid 8500. Erzählen kannst du jetzt nicht, das die…
    Von toni28
    Unter XP idR immer und unter Windows 7 nur mit dem passenden Monitor. BTW: Übrigens war ich einer der "Downsampling…
    Von PCGH_Marc
    @ toni28Unter DX9 (= GTA IV) mittels Tommti Tool nicht. Auf ner Geforce überall, Radeon idR nur unter XP und selbst da…
    Von toni28
    Auf ner ATi auch. Entweder mit geänderter EDID (und passendem Monitor), Tommti Tool oder ENB. Solltest du aber wissen.…
      • Von Tricky Niki Schraubenverwechsler(in)
        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.....
      • Von Sentionline007 Freizeitschrauber(in)
        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.

        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.
      • Von toni28 PC-Selbstbauer(in)
        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.
      • Von PCGH_Marc Lötkolbengott/-göttin
        @ toni28

        Unter DX9 (= GTA IV) mittels Tommti Tool nicht. Auf ner Geforce überall, Radeon idR nur unter XP und selbst da selten. ENB hat einen Sonderstatus. Solltest du aber auch wissen.

        Zitat
        Außerdem ist AA per Postprocessing sicher keine Sackgasse, sonst würd ja nicht Primus NV auch dran forschen.
        Von Sackgasse sagte ich nichts, die derzeitigen Lösungen sind aber nicht der Hit. SRAA aber scheint interessant zu werden.
      • Von toni28 PC-Selbstbauer(in)
        Zitat von PCGH_Marc
        Nichtsdestrotrotz ziehe ich Downsampling klar vor, auf ner Geforce geht das ja.


        Auf ner ATi auch. Entweder mit geänderter EDID (und passendem Monitor), Tommti Tool oder ENB. Solltest du aber wissen. MLAA ist dennoch flotter und glättet die Kanten besser. Nur das zeitliche AA kann mit Downsampling nicht mithalten. Da man aber eh die Optioen auf MB hat, ist das kein Beinbruch. Außerdem ist AA per Postprocessing sicher keine Sackgasse, sonst würd ja nicht Primus NV auch dran forschen.

        Zitat von Sentionline007

        Bei Softwareentwicklungen gibt es sowas wie Abwärtskompatibilität, wovon AMD womöglich nichts gehört hat. Deren Anhänger auch nicht. Ich entscheide wann ich eine neue Karte nötig hab, nicht die Community und auch nicht AMD.


        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. Oder ärgerst du dich auch noch immer, dass MS nicht dran denkt, Aero per Patch für WindowsXP nachzuliefern?

        Zitat von Jan565
        MLAA ist doch eine gute Zwischenlösung. Es gibt bis heute einfach kein Perfektes AA oder AF. In einigen Games läuft es einfach nicht wirklich rund. Dafür ist doch MLAA gedacht. Die Lücke versuchen zu schließen. Ich habe es bis heute noch nicht getestet, werde es aber wohl mal tun. Wenn es an SGSSAA ran kommt mit weniger Leistung, werde ich es wohl mal mehr und mehr nutzen.

        Ich finde aber, AMD sollte sich mal mehr um das AF und die Fernsicht bemühen. Mich stört es etwas, dass Objekte immer schlagartig schärfer werden um so näher ich denen komme. Ist bei NV das gleiche. Wenn das gelöst währe, währe es für mich Perfekt. Ich setzt mehr auf AF als auf AA in den Spielen.


        Probier mal negatives TexturLOD in Verbindung mit SGSSAA.
  • Print / Abo
    Apps
    PC Games Hardware 06/2017 PC Games 05/2017 PC Games MMore 05/2017 play³ 06/2017 Games Aktuell 05/2017 buffed 12/2016 XBG Games 04/2017
    PCGH Magazin 06/2017 PC Games 05/2017 PC Games MMORE Computec Kiosk On the Run! Birdies Run
article
820853
Grafikkarten
Kantenglättung in Spielen
"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).
http://www.pcgameshardware.de/Grafikkarten-Grafikkarte-97980/News/Kantenglaettung-in-Spielen-820853/
18.04.2011
http://www.pcgameshardware.de/screenshots/medium/2010/10/MLAA_und_neue_Slider___HD_5870.png
amd,radeon,grafikkarte,catalyst
news