DLSS5ForUE5

Aus UnrealWiki

Hinweis: Projektstand: 17. September 2026, Engine-Checkpoint 1fc0d24. DLSS5ForUE5 ist ein inoffizielles Community-Projekt und nicht mit NVIDIA oder Epic Games verbunden. Die Integration ist experimentell.

DLSS5ForUE5 ist ein Plugin, das NVIDIA NGX Neural Rendering in den Unreal Editor integriert. Es stellt Einstellungen, Szenendaten und Diagnosefunktionen für DLSS 5 bereit. Der Fork des Projekts wird im GitHub-Repository jan1009/DLSS5ForUE5 gepflegt.

Unterstützte Versionen

Das Repository enthält einen gemeinsamen, versionsabhängigen Quellcode für:

  • Unreal Engine 5.5
  • Unreal Engine 5.6
  • Unreal Engine 5.7
  • Unreal Engine 5.8

Getestet wurde die Integration unter Windows mit DirectX 12 und einer NVIDIA-RTX-Grafikkarte. Das offizielle NVIDIA-DLSS-Plugin muss für dieselbe Unreal-Engine-Version installiert und aktiviert sein. Der Stand vom 17. September 2026 wurde in Unreal Engine 5.8 sowohl im Editor als auch in einem Development-Package und im eigentlichen Spielprojekt validiert.

Funktionen

  • eigenes Werkzeugfenster unter Tools → DLSS 5 for UE5
  • Natural- und Cinematic-Stile
  • Regler für Preset, Intensität, Local Tone, Local Structure und Skin Structure
  • Scene-Depth- und Motion-Vector-Guides
  • zeitliche Daten wie Jitter, Pre-Exposure, Camera Cut und History Reset
  • ein bis vier aufeinanderfolgende Neural-Rendering-Durchläufe
  • Live-Diagnose für Laufzeit, NGX, Szenendaten und zeitlichen Zustand
  • Safe Mode zur Wiederherstellung
  • Konsolenbefehle unter DLSS5.* und r.DLSS5.*

Runtime-Architektur

Das Plugin verwendet den bereits durch das offizielle NVIDIA-DLSS-Plugin initialisierten NGX-Core. Es eröffnet keine zweite konkurrierende NGX-Application-Session.

Schicht Aufgabe
UDLSS5NRSettings Projektkonfiguration, Übernahme in Konsolenvariablen und Diagnose
View Extension Post-Process-/RDG-Integration sowie Übergabe von Color, Depth, Motion und Passzahl
FDLSS5NRRuntime NGX-Core-Parameter, Feature-Lifecycle, Create, Evaluate, Release und Telemetrie
DLSS5ForUE5_nvngx.dll Native Bridge für den NVIDIA-Caller-Gate
nvngx_dlssnr.dll Proprietäre NVIDIA-Neural-Rendering-Runtime; nicht Bestandteil des Git-Checkpoints

Projektkonfiguration und Safe Boot

Die Einstellungen werden explizit in Config/DLSS5ForUE5.ini gespeichert. Die Datei enthält 20 projektbezogene Werte für Neural Rendering, Bildstruktur, Scene Guides, temporales Verhalten und Diagnose und wird beim Cook in das Paket übernommen.

Im Editor deaktiviert der Safe Boot Neural Rendering, Scene Guides, Guide Feeding und Motion Vectors zunächst nur für die laufende Session. Die Abschaltung ist auf WITH_EDITOR begrenzt und schreibt die Projektwerte nicht zurück. Ein Packaged Build lädt dagegen die gespeicherte Konfiguration und startet mit den dort hinterlegten Einstellungen.

Packaged Runtime und Caller-Gate

Im Editor kommt der NGX-Aufruf aus UnrealEditor-DLSS5ForUE5_nvngx.dll. In einem monolithischen Packaged Game wurde derselbe Code zunächst in die Spiel-EXE gelinkt; die NVIDIA-Runtime lehnte Init_Ext deshalb mit 0xBAD00002 ab.

Die Lösung ist eine native DLSS5ForUE5_nvngx.dll, die als Runtime Dependency zusammen mit nvngx_dlssnr.dll gestaged wird. Sie forwardet die benötigten NGX-Entry-Points und bleibt als unmittelbarer Windows-DLL-Caller im Stack. Dabei musste zusätzlich eine MSVC-Tail-Call-Optimierung verhindert werden: Ein bloßer Sprung in die NVIDIA-Runtime ließ weiterhin die Spiel-EXE als Caller erscheinen. Ein echter call mit Post-Call-Operation und erhaltenem Bridge-Stackframe beseitigte den Fehler.

Der validierte Packaged Build meldete NGX-Core, Parameter, Runtime, Snippet und Caller-Gate erfolgreich. Depth und Motion waren jeweils angefordert, verfügbar und verwendet. In einem Lauf wurden 2036 von 2036 Evaluierungen erfolgreich abgeschlossen, ohne Fehler.

Supportstatus und Fallback

Status Bedeutung
AVAILABLE Aktiver D3D12-NVIDIA-Pfad ist nutzbar; Neural Rendering darf initialisieren und evaluieren.
UNAVAILABLE Noch kein nutzbarer NGX-Core oder transienter Startzustand; ein späterer Versuch bleibt möglich.
UNSUPPORTED Nicht-D3D12 oder aktiver AMD-/Intel-Renderadapter; einmalige Fallback-Meldung statt wiederholter Init-Versuche.
WAITING Editor-Safe-Boot oder Neural Rendering noch nicht aktiviert; kein Fehlerzustand.

Auf dem Hybrid-Testsystem mit RTX 5060 und Intel UHD blieb der Status nach r.DLSS5.Enable 1 korrekt AVAILABLE. Entscheidend ist der aktive Renderadapter, nicht die bloße Anwesenheit einer zusätzlichen Intel-GPU.

Installation

  1. Das zur verwendeten Unreal-Engine-Version passende Plugin-Paket herunterladen.
  2. Den Ordner DLSS5ForUE5 nach Projekt/Plugins/ entpacken.
  3. Das Projekt öffnen und die Plugins DLSS sowie DLSS 5 for UE5 aktivieren.
  4. Den Editor neu starten.
  5. Das Werkzeug über Tools → DLSS 5 for UE5 öffnen.

Bei einem passenden vorkompilierten Paket ist für die normale Installation keine eigene Übersetzung mit Visual Studio erforderlich.

Verwendung und Grenzen

Die Anzahl der Durchläufe lässt sich von eins bis vier einstellen. Jeder weitere Durchlauf verarbeitet das Ergebnis des vorherigen Durchlaufs und erhöht die GPU-Last deutlich. Ein Durchlauf ist deshalb ein sinnvoller Ausgangspunkt.

Scene Depth und erzeugte Bewegungsvektoren können die zeitliche Stabilität verbessern. Die Verarbeitung der Motion Vectors ist jedoch weiterhin experimentell, da Unreal Engine in einigen Render-Hook-Zuständen keine direkt nutzbare Objektgeschwindigkeit liefert. Bekannte Probleme und Workarounds sind in der Repository-Dokumentation beschrieben.

Performance-Messungen

Eine frühe Messreihe lief im eigentlichen Spielprojekt in einer schweren Wald-/Wasserszene auf der RTX 5060 Laptop GPU. Verwendet wurden Epic Scalability und 83,4 % Render Resolution, ungefähr 1404×715 Pixel im Viewport. Die Werte sind Momentaufnahmen und kein allgemeiner Benchmark.

Zustand FPS Framezeit GPU-Zeit Zusatz gegenüber aus
Neural Rendering aus 41,68 23,99 ms 17,19 ms –
1 Pass 30,87 32,38 ms 26,75 ms +9,56 ms
2 Passes 23,16 43,05 ms 35,84 ms +18,65 ms
4 Passes 16,07 62,27 ms 54,19 ms +37,00 ms
2 Passes mit Depth und Motion 23,52 42,39 ms 35,99 ms +18,80 ms

In dieser Reihe kostete ein Neural-Pass ungefähr 9 bis 9,5 ms zusätzliche GPU-Zeit. Depth und Motion erhöhten die GPU-Zeit bei zwei Passes nur um ungefähr 0,15 ms und lagen damit im Bereich der Messschwankung. Spätere Versuche mit Preset 3 und vier Passes lagen in einer anderen Szeneneinstellung deutlich niedriger, beispielsweise bei ungefähr 26 ms GPU-Zeit. Die Kosten hängen damit stark von Preset, Passzahl, Szene, Feature-Vertrag und Auflösung ab; künftige Vergleiche müssen diese Parameter mitprotokollieren.

Bekannte Grenzen

  • Neural Rendering ist aktuell auf Win64, Direct3D 12 und einen aktiven NVIDIA-Renderadapter begrenzt.
  • Depth und Motion funktionieren technisch, benötigen aber weitere Qualitäts- und Stabilitätsprüfung in Bewegung.
  • Direktes Umschalten von r.DLSS5.PassCount war im Editor zeitweise nicht zuverlässig; der Settings-Slider setzte denselben Wert korrekt.
  • Mehrere Spatial Upscaler dürfen nicht gleichzeitig aktiv konfiguriert werden.
  • Die proprietäre NVIDIA-Runtime wird nicht im Git-Checkpoint versioniert.
  • Die in UE5 Heterogeneous Multi-GPU untersuchte Worker-Auslagerung ist noch nicht implementiert. Neural Rendering läuft derzeit auf der Primary-NVIDIA-GPU.

Repository und Dokumentation

Siehe auch