Nvdia DLSS ist jetzt als Plugin für die Unreal Engine verfügbar; Verbreitung dürfte bald steigen

Nvidia DLSS ist als offizielles Plugin für die Unreal Engine (4.26) auf dem Unreal-Marktplatz veröffentlicht worden. Spiele-Entwickler, die besagte Engine nutzen, können fortan die KI-Upscaling-Technologie wesentlich leichter in ihre Projekte implementieren. Bisher musste man sich erst mit Nvidia in Verbindung setzen und registrieren, um die Technik nutzen zu können. Auch ein Freischaltcode war wohl nötig. Das DLSS-Plugin steht aktuell nur für die Unreal Engine zur Verfügung, die mit Abstand verbreitetste Game Engine. Ob entsprechende Plugins für die Unity Engine oder die CryEngine etc. folgen werden, bleibt abzuwarten.

Es kann also davon ausgegangen werden, dass Spiele, die auf der Unreal Engine basieren, in Zukunft häufiger DLSS unterstützen werden – hoffentlich bedeutet dies nicht auch, dass die sonstige Performance-Optimierung der Spiele zu kurz kommt, da DLSS entsprechende Nvidia-RTX-Hardware voraussetzt (siehe unten). Das Plugin unterstützt das Upscaling bis auf 8K-Auflösung.

Da Nvidia mit DLSS 2.0 auf eine generalisierte Lösung des KI-Trainings umgestellt hat, muss DLSS 2.0 nicht mehr explizit auf die jeweiligen Spiele „trainiert“ werden – wie bei DLSS 1.0. Dennoch kann davon ausgegangen werden, dass Treiber-Optimierungen (Game-Ready-Treiber) die DLSS-Unterstützung weiter verbessern können.

Developers using @UnrealEngine 4 can now access #DLSS as a plugin for UE4 4.26. With DLSS, developers can enjoy great scaling across all GeForce RTX GPUs and resolutions, including the new ultra-performance mode for 8K gaming. Download today through the UE Marketplace. #GameDev

— NVIDIAGameDev (@NVIDIAGameDev) February 11, 2021

Deep Learning Super Sampling (kurz DLSS) ist ein Upscaling-Verfahren, mit dem nativ berechnete Spielszenen mit KI-Unterstützung auf höhere Auflösungen hochgerechnet bzw. hochskaliert werden können – inkl. Anti-Aliasing (Kanten-Glättung), temporale Bild-Zusammensetzungsmethoden und Nachschärfung. So können z.B. in 1080p oder 1440p gerenderte Szenen auf 4K hochskaliert werden. Durch die niedrigere native Render-Auflösung und das nachträgliche Upscaling auf Basis eines speziell trainierten KI-Systems steigt die Bildwiederholrate teilweise sehr deutlich an, weil der Grafikprozessor weit weniger Pixel des Ursprungsbildes berechnen muss. Kommen aufwändige Raytracing-Effekte zum Einsatz, ist DLSS oftmals unabdingbar, um mit höheren Wiederholraten auf hohen Auflösungen spielen zu können.

DLSS ist nur auf Nvidia-RTX-Grafikkarten verfügbar, die über „Tensor Cores“ (hardwarebasierte KI-Beschleuniger) im Grafikprozessor verfügen. Alle Grafikkarten der Nvidia-RTX20- und RTX30-Serien (inkl. Notebook-Varianten) unterstützen die Technologie.

Die erste Version von DLSS, die z.B. bei Battlefield 5, Monster Hunter: World oder Metro Exodus zum Einsatz kam, wurde pro Spiel angepasst und erforderte viele Trainingsdurchläufe für die Upscaling-KI anhand von gigantisch aufgelösten Bildern aus dem jeweiligen Spiel. Die erste Fassung fiel noch mit einigen Probleme auf, z.B. Unschärfe-Effekte oder Rausch-Artefakte bei Haaren von Spielfiguren. Control nutzte später DLSS 1.9 als Vorabversion von DLSS 2.0, die ohne „Tensor Cores“ funktionierte und stattdessen die CUDA-Prozessoren nutzte.

Bei DLSS 2.0 wurde die Künstliche Intelligenz auf generischen und sehr, sehr hochaufgelösten Bildern trainiert und muss nicht mehr speziell für jedes Spiel trainiert werden. Bei der Hochskalierung des Endbildes werden auch Bewegungsvektoren der Objekte von Bild zu Bild berücksichtigt, damit besser abgeschätzt werden kann, wie das nächste Bild aussehen wird. DLSS 2.0 erfordert wieder die Tensor Cores der GPU. Das hochskalierte Endergebnis sieht in der Regel deutlich besser als bei der DLSS-1.0-Variante aus und kurioserweise wird mit DLSS 2.0 manchmal sogar die Bildqualität der nativen Bildausgabe durch die Nachschärfung übertroffen.

AMD verfügt noch nicht über so eine Technologie, arbeitet aber an einer eigenen Supersampling-Lösung (Fidelity FX Super Resolution), die jedoch ohne hardwarebasierte KI-Beschleuniger im Grafikprozessor auskommen muss.

Den möglichen Performance-Gewinn durch DLSS bei einer Spielszene mit RTX-Effekten und im Vergleich zu TAA (Temporal Anti-Aliasing) hat Tom Looman in seinem Unreal Engine Tutorials and Game Development Blog ausführlich durchgetestet. Er kam zu folgenden Ergebnissen.

Wald-Szene (mit RTX in 1440p):

  • TAA Baseline ~35 FPS
  • DLSS Quality ~56 FPS (+60 Prozent)
  • DLSS Balanced ~65 FPS (+85 Prozent)
  • DLSS Performance ~75 FPS (+114 Prozent)
  • DLSS Ultra Performance ~98 FPS (+180% Prozent; das Bild ist aber recht unscharf, da dieser Modus für höhere Auflösungen ab 4K gedacht ist)

Zug-Szene (mit RTX in 1440p)

  • TAA Baseline ~38 FPS
  • DLSS Quality ~69 FPS (+82 Prozent)
  • DLSS Performance ~100 FPS (+163 Prozent)

Die DLSS-Modi (Quality, Performance etc.) unterscheiden sich bei der nativen Auflösung, von der hochskaliert wird. Laut Looman kann die native Auflösung bei „Ultra Performance“ auf bis zu 33 Prozent der Zielauflösung reduziert werden. Bei „Quality“ soll die Ausgangsauflösung bei zwischen 50 und 69 Prozent der Endauflösung liegen. Looman konnte aber genau nicht rausfinden, welche Basisauflösung den Modi zugrunde liegt. Die 50 Prozent bedeuten (wenn z.B. nativ 1080p auf 4K hochskaliert wird), dass viermal weniger Pixel berechnet werden müssen, was die GPU entsprechend massiv entlastet.

Folgende Spiele unterstützen aktuell DLSS: Anthem, Battlefield 5, Bright Memory, Call of Duty: Modern Warfare / Black Ops Cold War, Control, CRSED: F.O.A.D., Cyberpunk 2077, Darksiders 3, Death Stranding, Deliver Us the Moon, F1 2020, Final Fantasy 15, Fortnite, Ghostrunner, Marvel’s Avengers, MechWarrior 5: Mercenaries, Metro Exodus, Minecraft: Bedrock Edition, Monster Hunter: World, Serious Sam 4: Planet Badass, Shadow of the Tomb Raider, Watch Dogs: Legion und Wolfenstein: Youngblood.