Inhalt
newsletter Newsletter

Nvidia DLSS 2.1 bringt Leistung und Bildqualität von VR-Apps mit der Unreal Engine 4 auf ein neues Level.

Anzeige

Autoren: Robin Hasenbach, Maximilian Schreiner

Nvidias KI-Upscaling DLSS unterstützt seit Version 2.1 auch VR-Anwendungen. Mit dem jüngst veröffentlichten DLSS-Plugin für Unreal Engine 4 steht die Technologie jetzt jedem UE-Entwickler zur Verfügung. Zeit also, einen ersten Blick auf die DLSS-Leistung in Virtual Reality in einer UE-4-Testumgebung zu werfen.

Getestet hat das Plugin für uns Robin Hasenbach (Arvur), einer der führenden deutschen Unreal-Engine-Experten. Robin trainiert Entwickler und Unternehmen im Umgang mit der Unreal Engine. In unserem MIXED.de-Podcast #197 haben wir uns mit Robin über das Potenzial der kommenden Unreal Engine 5 auch für VR unterhalten.

Anzeige
Anzeige

Mehr als nur Performance: DLSS ermöglicht Deferred Rendering für VR

In der Unreal Engine 4 gibt zwei Renderpipelines: Forward Rendering und Deferred Rendering. Forward Rendering stammt aus den 90ern und wird abseits von VR und Mobile kaum noch eingesetzt.

Auf dem PC und den Konsolen hat sich das Mitte der 2000er-Jahre eingeführte Deferred Rendering durchgesetzt, da es deutlich mehr grafische Möglichkeiten und höhere Performance bei mehr Lichtquellen bietet.

Warum setzt VR noch auf Forward Rendering?

Deferred Rendering verwendet sogenanntes Temporal Anti Aliasing (TAA) für die Kantenglättung. TAA erzeugt jedoch bei vielen kleinen Kamerabewegungen deutlich sichtbare Schlieren, sogenanntes Ghosting.

Bei herkömmlichen Monitorspielen ist das normalerweise kein Problem. Bei VR-Spielen (Releases) und -Apps jedoch bewegt sich laufend der Kopf des Brillenträgers. Mit TAA würde er also ein verschwommenes, unscharfes Bild sehen.

In VR setzen Entwickler daher auf Multi Sample Anti Aliasing (MSAA) für die Kantenglättung. MSAA erzeugt keine Schlieren - wird jedoch nur von Forward Rendering unterstützt.

Empfehlung

Screenshot UE4

Screenshot UE4
Deferred Rendering (oben) erlaubt deutlich bessere Effekte und dynamische Lichtquellen in einer Szene. Das wird im direkten Vergleich mit dem Forward Rendering (unten) etwa an den Bodendielen oder der besseren Ausleuchtung der Szene deutlich. | Bild: Robin Hasenbach

Kurz: VR-Entwickler müssen das ältere Forward Rendering verwenden, da eine gute Kantenglättung enorm wichtig ist für ein ruhiges Gesamtbild – gerade in VR stören die flimmernden Treppchen an den Polygonkanten. Auf die vielen Vorteile des moderneren Deferred Rendering müssen VR-Entwickler daher verzichten.

Was hat die Renderpipeline mit DLSS zu tun? Das KI-Upscaling hat einen kantenglättenden Effekt, da es das Bild von einer geringen in eine sehr hohe Auflösung hochskaliert. Neben einer besseren VR-Performance könnte DLSS so den Verzicht auf TAA und damit den Umstieg auf das Deferred Rendering ermöglichen. Damit würde DLSS bessere Leistung und ein deutlich besseres Bild bieten.

Der Umstieg von Forward auf Deferred Rendering ist aber nicht zwingend erforderlich: DLSS unterstützt beide Renderpipelines.

Anzeige
Anzeige
Community beitreten
Kommt in die DECODER-Community bei Discord,Reddit, Twitter und Co. - wir freuen uns auf euch!

Nvidia DLSS 2.1 im VR-Test

Robin testete Nvidias KI-Upscaler in einer virtuellen Küche. Sein Testsystem besteht aus einem Ryzen 5900X, einer Nvidia GeForce RTX 3090, 32 Gigabyte RAM und einer NVMe SSD. Als VR-Brille (Vergleich 2021) nutzt er eine Valve Index (Test) mit einer nativen Auflösung von 2.880 x 1.600 Bildpunkten.

Einfache Plug-and-Play-Installation

Die Installation von DLSS ist einfach: DLSS-Plugin herunterladen, in das Unreal Engine 4.26 Projekt ablegen, den Unreal Editor neu starten und es kann losgehen. Keine Registrierung, Anmeldung oder Ähnliches sind notwendig. DLSS für UE4 ist Plug-and-play.

Das Plugin unterstützt die Grafikschnittstellen DirectX 12, DirectX 11 und Vulkan. Es wird über die Programmierschnittstelle C++ oder über die Visual Scripting Sprache Blueprint angesteuert und konfiguriert.

DLSS verdoppelt Performance

Robin testet eine UE4-Szene mit Deferred Rendering und Forward Rendering mit unterschiedlichen DLSS-Einstellungen und unterschiedlichen Ziel-Bildwiederholraten.

90 Hz @ Deferred Rendering, mit TAA ohne DLSS

Anzeige
Anzeige
  • Bildberechnungszeit: 8,65 Millisekunden
  • Bildqualität: Bei Bewegungen zeigt sich starkes Aliasing und Ghosting.

Screenshot UE4

120 Hz @ Deferred Rendering, ohne TAA mit DLSS Ultra Performance

  • Bildberechnungszeit: 4,15 ms
  • Bildqualität: Das Bild ist leicht unscharf, Aliasing und Ghosting sind dafür kein Problem.
  • DLSS auf niedriger Qualität sieht bereits besser aus als das Standard-VR-Bild und hat die Berechnungszeit halbiert.

Screenshot UE4

144 Hz @ Deferred Rendering, ohne TAA mit DLSS Quality

  • Bildberechnungszeit: 5,40 ms
  • Bildqualität: Das Bild ist gestochen scharf, Aliasing und Ghosting sind kein Problem.
  • DLSS auf hoher Qualität sieht in VR unglaublich gut aus, die höhere Framerate von 144 FPS schafft mein System problemlos – obwohl dank Deferred Rendering die grafischen Effekte hochwertiger und mehr dynamische Lichtquellen im Bild sind.

Das folgende Video zeigt Forward Rendering mit MSAA. Das Aliasing ist reduziert, aber erkennbar. Ich schalte in der Entwicklerkonsole DLSS an und wechsle durch die verschiedenen Qualitätsstufen (Ultra Performance -2, Performance -1, Balanced 0, Quality 1, Ultra Quality 2).

90 Hz @ Forward Rendering, ohne MSAA ohne DLSS

Anzeige
Anzeige
  • Bildberechnungszeit: 4,07 ms
  • Bildqualität: Das Aliasing ist sehr deutlich. Unschönes Bild, das in den Augen schmerzt.

90 Hz  @ Forward Rendering, ohne MSAA mit DLSS Ultra Performance

  • Bildberechnungszeit: 3,90 ms
  • Bildqualität: Das Aliasing ist nicht mehr sichtbar, aber dafür wirkt das ganze Bild etwas unscharf. Trotzdem kürzere Bildberechnungszeit bei besserer Bildqualität.

144 Hz @ Forward Rendering, ohne MSAA mit DLSS Ultra Quality

  • Bildberechnungszeit: 6,60 ms
  • Bildqualität: Das Bild ist gestochen scharf, es lässt sich kein Aliasing mehr wahrnehmen. Ohne DLSS wären 120 Bilder pro Sekunde für mein Testsystem kaum zu erreichen.

DLSS für Unreal Engine ist die Zukunft von VR-Grafik

DLSS in der Unreal Engine ist auch für VR ein voller Erfolg. So ein glattes, scharfes Bild hat man bis dato in VR noch nicht gesehen.

Dass dabei sogar noch die Framerate verbessert wird, ist für mich wie Magie: bessere Grafik für weniger Leistung. DLSS für PC-VR ist eine Schlüsseltechnologie, die ich in Zukunft wohl in allen VR-Anwendungen am PC einsetzen werden.

Einen Haken gibt es allerdings: DLSS benötigt eine leistungsstarke Nvidia RTX Grafikkarte. Wenn ich für die erfolgreiche Standalone-VR-Brille Oculus Quest 2 (Test) entwickle, steht mir DLSS nicht zur Verfügung.

Wenn Qualcomm und AMD keine DLSS-Alternative bieten, bleibt KI-Upscaling für Virtual Reality also auf Windows 10 PCs mit Nvidia Grafikkarten beschränkt. Was schade wäre, da die Technologie gerade auf mobilen Systemen ihren Performance-Vorteil hervorragend ausspielen könnte.

Anzeige
Anzeige

Abseits einiger reiner PC-VR-Titel wird daher primär der B2B-VR-Bereich von DLSS profitieren - dort werden meist leistungsstarke Nvidia Grafikkarten eingesetzt, etwa für die Automobil- oder Architekturvisualisierung.

Gerade diese Branchen könnten von einer weiteren Computergrafik-Schlüsseltechnologie profitieren: Ich konnte eine stark optimierte RayTracing Szene dank DLSS in VR mit knapp 45 Bildern pro Sekunde betrachten – was faszinierend gut aussieht. Die Kombination aus RayTracing und DLSS könnte fotorealistische B2B-Anwendungsszenarien ermöglichen.

Screenshot UE4

Screenshot UE4 RayTracing
Oben eine Testszene ohne Ray-Tracing, unten die gleiche Szene mit aktiviertem Ray-Tracing und DLSS im Quality-Modus. Der Raum wird dank Ray-Tracing realistisch ausgeleuchtet. | Bild: Robin Hasenbach

Weiterlesen über Tech:

Unterstütze unsere unabhängige, frei zugängliche Berichterstattung. Jeder Betrag hilft und sichert unsere Zukunft. Jetzt unterstützen:
Banküberweisung
Community beitreten
Kommt in die DECODER-Community bei Discord,Reddit, Twitter und Co. - wir freuen uns auf euch!