Inhalt verstecken

Anweisungen für das nVIDIA DLSS3 Unreal Engine Frame Generation Plugin

NVIDIA Unreal Engine DLSS-Frame-Generierungs-Plugin (Streamline)

DLSS3 und das NVIDIA Unreal Engine DLSS Frame Generation Plugin

Die NVIDIA DLSS-Frame-Generierung Das Plugin ist Teil einer größeren Suite verwandter NVIDIA-Technologien zur Leistungs- und Bildqualitätsverbesserung und der entsprechenden NVIDIA Unreal Engine plugins: NVIDIA Tief Supers lernenampLing-Frame-Generierung (DLSS-FG) steigert die Bildraten durch die Verwendung von KI zum Rendern zusätzlicher Bilder. DLSS-FG erfordert eine Grafikkarte der Geforce RTX 40-Serie.
NVIDIA Tief Lernen SupersampLeng Super Auflösung (DLSS-SR) steigert die Bildraten, indem weniger Pixel gerendert werden und KI zur Ausgabe hochauflösender Bilder verwendet wird. DLSS-SR erfordert eine NVIDIA RTX-Grafikkarte. NVIDIA Anti-Aliasing mit Deep Learning (DLAA) dient der Verbesserung der Bildqualität. DLAA erfordert eine NVIDIA RTX-Grafikkarte.
NVIDIA Bildskalierung (NIS) Bietet erstklassiges Upscaling und Sharpening für Nicht-RTX-GPUs, sowohl von NVIDIA als auch von Drittanbietern. Bitte beachten Sie die NVIDIA Bildskalierung Weitere Informationen finden Sie im Unreal Engine-Plugin. NVIDIA DLSS 3 kombiniert DLSS Super Resolution, DLSS Frame Generation und NVIDIA Reflex.
Das NVIDIA Unreal Engine DLSS Frame Generation-Plugin (hier dokumentiert) bietet: DLSS Frame Generation (auch DLSS-G oder DLSS-FG genannt)

NVIDIA Reflex
Das NVIDIA Unreal Engine DLSS-SR-Plugin (separat erhältlich) bietet: DLSS Super Resolution (DLSS-SR)
Anti-Aliasing mit Deep Learning (DLAA)
Das NVIDIA Unreal Engine NIS-Plugin (separat erhältlich) bietet: NVIDIA Image Scaling

Integrationsempfehlung

Das DLSS Frame Generation-Plugin wird „out of the box“ von Unreal Engine 5.2 unterstützt, einschließlich verpackter Engine-Releases von Epic.
Für 5.1 und frühere Engine-Versionen müssen zusätzliche Quelländerungen an der Engine selbst vorgenommen werden, um das DLSS Frame Generation-Plugin zu unterstützen. Wir empfehlen, dass die Integration von einem Ingenieur durchgeführt wird, der sich mit der Neuerstellung der Unreal Engine aus dem Quellcode sowie dem Zusammenführen von Codefragmenten in den Engine-Code selbst auskennt.

Schnellstart der DLSS3-Frame-Generierung

Hinweis: Die DLSS-Frame-Generierung und die Reflex-Implementierung werden zusammen über eine „Streamline“-Bibliothek bereitgestellt, daher lautet der Name des Plugins Streamline.

UE 5.2

  1. Kopieren Sie den gesamten Streamline-Plugin-Ordner irgendwo unter dem der Engine Plugins\Marketplace-Ordner oder unter Ihrem Quellprojekt Plugins Ordner Für eine gepackte Engine-Version von Epic kopieren Sie das Plugin irgendwo unter Engine\ der Engine.Plugins\Marketplace-Ordner
    Für einen Quell-Engine-Build kopieren Sie das Plugin irgendwo unter Engine\ der Engine.Plugins\Runtime-Ordner
    Wenn Sie ein Quellprojekt haben (kein reines Blueprint-Projekt), können Sie das Plugin auch unter das Ihres Projekts kopieren Plugins Ordner anstelle der Engine. Es ist nur eine Kopie des Plugins zulässig, also kopieren Sie es nicht an beide Speicherorte
  2. Aktivieren Sie das Plugin „DLSS Frame Generation“ im Editor (Bearbeiten -> Plugins)
  3. Starten Sie den Editor neu
  4. Überprüfen Sie das Protokoll auf NVIDIA Streamline unterstützt 1

UE 5.1 ​​und früher

  1. Führen Sie benutzerdefinierte Engine-Änderungen mit benutzerdefinierten Plugin-Hooks, DLSS Frame Generation und DLSS Super Resolution zusammen plugins in Ihren Quellbaum, passend zu Ihrer UE-Version:
    1. https://github.com/NvRTX/UnrealEngine/tree/dlss3/sl2-5.1-dlss-plugin
    2. https://github.com/NvRTX/UnrealEngine/tree/dlss3/sl2-5.0-dlss-plugin
    3. https://github.com/NvRTX/UnrealEngine/tree/dlss3/sl2-4.27-dlss-plugin
  2. Aktivieren Sie das Plugin „DLSS Frame Generation“ im Editor
  3. Starten Sie den Editor neu
  4. Überprüfen Sie das Protokoll auf NVIDIA Streamline unterstützt 1

Systemanforderungen für die DLSS-Frame-Generierung

 Mindestversion des Windows-Betriebssystems Win10 20H1 (Version 2004, Build 19041 oder höher), 64-Bit
Display Hardware-beschleunigtes GPU-Scheduling (HWS) muss über Einstellungen: System: Anzeige: Grafik: Standardgrafikeinstellungen ändern aktiviert werden. https://devblogs.microsoft.com/directx/hardware-accelerated-gpu-scheduling/ NVIDIA Ada-Architektur-GPU (GeForce RTX 40-Serie, NVIDIA RTX 6000-Serie)

NVIDIA Geforce-Treiber
Empfohlen: Version 531.18 oder höher
UE-Projekt mit DirectX 12 (Standard-RHI in den Projekteinstellungen)

Zusammenführen und Integrieren benutzerdefinierter Engine-Änderungen zur Unterstützung des DLSS Frame Generation-Plugins

Unreal Engine 5.1

  1. Wenden Sie die erforderlichen Engine-seitigen Änderungen aus diesem Repository mit einer der beiden Methoden an
    1. Führen Sie diesen Zweig direkt zusammen, wenn Ihr Codebaum Git-basiert ist https://github.com/NvRTX/UnrealEngine/tree/dlss3/sl2-5.1-dlss-plugin
    2. Oder laden Sie alternativ einen Patch herunter file über diesen Link: https://github.com/EpicGames/UnrealEngine/compare/release…NvRTX:dlss3/sl2-5.1-dlss-plugin.patch
      1. Überprüfen Sie, ob der Patch vorhanden ist file ist mit Ihrer Engine-Version kompatibel, indem Sie den nächsten Befehl ausführen: git apply –check ..NvRTX:dlss3/sl2-5.1-dlss-plugin.patch
      2. Dieser Vorgang ist zerstörungsfrei und lediglich ein Test, um sicherzustellen, dass die Zusammenführung möglich ist, und um sie zu kennzeichnen
      3. Falls Probleme auftreten, überprüfen Sie die files, die zusammengeführt werden. Dies kann bei Berührung passieren files wurden möglicherweise vom Entwickler selbst und durch den Git-Merge-Test geändert
      4. Wenden Sie den Patch mit dem nächsten Befehl an: git apply ..NvRTX:dlss3/sl2-5.1-dlss-plugin.patch
    3. Erstellen Sie die gepatchte Engine-Version und Ihre neu
    4. Aktivieren Sie das Plugin „DLSS Frame Generation“ im Editor.
      1. Gehen Sie zum Plugins
      2. Scrollen Sie ganz nach unten, bis Sie das Plugin finden.
    5. Starten Sie den Editor neu.
    6. Validierung der DLSS Frame Generation-Integration in UE
      1. Führen Sie den Editor aus oder
      2. Überprüfen Sie die Debug-Ausgabe und/oder die Protokolle in $(Project Name)/Saved/Logs und suchen Sie nach der folgenden Zeile: NVIDIA Streamline unterstützt 1
    7. Sollten weiterhin Probleme auftreten, wenden Sie sich bitte an Ihren NVIDIA-Mitarbeiter

Das UE DLSS Frame Generation-Plugin selbst ist für andere UE-Versionen dasselbe, es gibt jedoch unterschiedliche Zweige/Patches auf Github mit Engine-Änderungen für die jeweilige UE-Version:

UE 5.0

Ähnlich wie 5.1-Anweisungen Branch Patch

UE 4.27

https://github.com/NvRTX/UnrealEngine/tree/dlss3/sl2-5.0-dlss-plugin https://github.com/EpicGames/UnrealEngine/compare/release…NvRTX:dlss3/sl2-5.0-dlss-plugin.patch
Ähnlich wie 5.1-Anweisungen Branch
https://github.com/NvRTX/UnrealEngine/tree/dlss3/sl2-4.27-dlss-plugin

Pflaster

https://github.com/EpicGames/UnrealEngine/compare/release…NvRTX:dlss3/sl2-4.27-dlss-plugin.patch

Fehlerbehebung

Kurztipps

  1. So finden Sie heraus, welche Version von DirectX Sie verwenden: Öffnen Sie das Ausgabeprotokoll in Unreal Search „RHI“, um zu bestätigen, welche Version von DirectX Sie verwenden. Sie werden beispielsweise „LogD3D12“ sehen, wenn es sich um DX12 handeltample.
  2. So bestätigen Sie, dass die Frame-Generierung korrekt initialisiert wurde: Verwenden Sie das Ausgabeprotokoll und suchen Sie nach Streamline. Wenn die Initialisierung erfolgreich war oder fehlgeschlagen ist, sollte dies bestätigt werden
  3. So finden Sie heraus, welche Windows-Version Sie haben: Klicken Sie auf die Schaltfläche „Start“ oder „Windows“ (normalerweise in der unteren linken Ecke Ihres Computerbildschirms). Klicken Sie auf „System“. Klicken Sie auf „Info“ (normalerweise unten links auf dem Bildschirm). Der resultierende Bildschirm zeigt die Edition von Windows.

Bekannte Probleme

DLSS-Frame-Generierung
Möglichkeit des Fehlers „Gerät entfernt“ beim Aktivieren von DLSS-FG, wenn gleichzeitig SER (Shader Execution Reordering) aktiv ist. Empfehlen Sie mindestens Treiber 531.18, um die Wahrscheinlichkeit zu verringern, dass dieses Problem auftritt. Debug-Overlay
Das Overlay zeigt die Tastaturbefehle Strg-Umschalt-Pos1, Strg-Umschalt-Einfügen und Strg-Umschalt-Entf an, die möglicherweise nicht funktionieren

Diagnose von Plugin-Problemen im Editor

Die UE DLSS Frame Generation-Plugin-Module schreiben verschiedene Informationen in die folgenden UE-Protokollkategorien: LogStreamline
LogStreamlineAPI LogStreamlineBlueprint LogStreamlineD3D11RHI LogStreamlineD3D12RHI LogStreamlineRHI LogStreamlineRHIPreInit
Diese können im Editor unter Fenster -> Ausgabeprotokoll aufgerufen werden

Das Nachrichtenprotokoll kann dann gefiltert werden, um nur die Streamline-bezogenen Nachrichten anzuzeigen, um weitere Informationen darüber zu erhalten, warum das Plugin möglicherweise nicht wie erwartet funktioniert.

Debug-Overlay

In nicht im Lieferumfang enthaltenen UE-Builds kann das DLSS Frame Generation-Plugin ein Debug-Overlay anzeigen, das Laufzeitinformationen anzeigt. Das Overlay kann in Nicht-Versand-Builds mit dem aktiviert/deaktiviert werden Plugins -> NVIDIA DLSS-Frame-Generierung -> Option „Debug-Overlay laden“ in den Projekteinstellungen.
Diese Einstellung kann auch mit -sldebugoverlay und -slnodebugoverlay in der Befehlszeile überschrieben werden. Dadurch werden implizit Streamline Development-Binärdateien ausgewählt. Das Overlay wird nur auf Systemen unterstützt, auf denen die DLSS-FG-Funktion unterstützt wird.
Das Debug-Overlay bietet eine Möglichkeit, die verschiedenen Texturen zu visualisieren, die für DLSS-FG an Streamline übergeben werden. Wenn DLSS-FG aktiviert ist, aktiviert Strg+Umschalt+Einfügen das folgende Bild view.

Begrenzung der Bildrate

Aufgrund der Art und Weise, wie Unreal Engine mit der Begrenzung der Bildrate umgeht, kann es zu Problemen kommen, bei denen die Bildrate bei der Mindestbildrate hängen bleibt und sich nicht erholt. Die Konsolenvariable t.Streamline.Reflex.HandleMaxTickRate kann auf False gesetzt werden, damit die Engine die maximale Tickrate anstelle von Streamline Reflex begrenzt, was in diesen Situationen hilfreich sein kann. Die Engine ist sich der DLSS-Frame-Generierung nicht bewusst, sodass die tatsächliche Grafik-Framerate effektiv doppelt so hoch sein kann wie die maximale FPS der Engine, wenn diese cvar auf „Falsch“ gesetzt ist.

Inhaltliche Überlegungen

Korrekte Darstellung der UI-Alpha

DLSS-FG kann eine UI-Farbe und einen Alpha-Puffer nutzen, um die Bildqualität der zusammengesetzten UI zu verbessern. Das UE DLSS Frame Generation-Plugin generiert dies aus dem Backbuffer, indem es den Alphakanal extrahiert, nachdem die Benutzeroberfläche gerendert wurde (direkt vor der Gegenwart).
UE löscht standardmäßig kein Alpha aus der Szenenfarbe, was gut funktioniert, da die meisten, wenn nicht alle UMG-Materialüberblendungsmodi nur eingehendes Alpha berücksichtigen und alle Pixel schreiben. Das Fenster der Entwicklerkonsole wird jedoch nach den UI-Elementen gerendert und schreibt in den Alphakanal. Dieses Alpha bleibt über Frames hinweg bestehen und führt zu einer falschen UI-Farbe und einem falschen Alpha-Puffer, der vom UE Streamline-Plugin generiert und dann an Streamline/DLSS-G übergeben wird.
Die Engine bietet keine integrierte Möglichkeit, nur das Alpha der Szenenfarbe zu löschen. Daher fügt das UE Streamline-Plugin einen Renderpass hinzu, um den Alphakanal am Ende der Nachbearbeitung von der Szenenfarbe zu befreien, bevor UI-Elemente gerendert werden. Dies wird durch r.Streamline.ClearSceneColorAlpha gesteuert, was standardmäßig „true“ ist.
Das Streamline-Plugin fügt außerdem einen Schwellenwert hinzu, um ein Pixel als Benutzeroberfläche zu bestimmen, wenn das Pixel einen größeren Alpha als den Schwellenwert hat, r.Streamline.TagUIColorAlphaThreshold. Standardmäßig ist die cvar auf 0.0 eingestellt, sodass jedes Pixel, dessen Alpha größer als Null ist, in die UI-Farbe und den Alpha-Puffer extrahiert wird.
Hinweis: Die Alpha-Unterstützung für UI-Farben wird nur in Standaline-Spielfenstern unterstützt. Im Editor PIE-Popup-Fenster werden Farbe und Alpha der Benutzeroberfläche angezeigt tagstandardmäßig deaktiviert (siehe r.Streamline.Editor.TagUIColorAlpha), da das Löschen des Alphakanals nicht trivial ist: PIE-Fenster rendern die Szene in ein separates „BufferedRT“-Renderziel, bliten es in den Backbuffer und zeichnen dann vor der Präsentation die Benutzeroberfläche darüber. Dieser „BufferedRT“-Zwischenschritt verhindert, dass r.Streamline.ClearSceneColorAlpha wie beabsichtigt funktioniert. Daher ist die Bildqualität in den PIE-Editorfenstern nicht repräsentativ, sollte jedoch ausreichen, um die Benutzeroberfläche und die Einstellungslogik mithilfe der Blueprint-Bibliothek zu entwickeln.
Dies funktioniert jedoch nur, wenn die Anwendung die Benutzeroberfläche wie erwartet darstellt, was bedeutet, dass jedes UI-Element Alpha in den Backbuffer schreiben muss (unabhängig davon, ob es undurchsichtig oder transparent ist). In der Praxis bedeutet dies: Verwenden Sie UWidgetBlueprintLibrary::DrawText nicht zum Zeichnen von UI-Text, da dies der Fall ist nicht schreibe Alpha.
Verwenden Sie stattdessen UMG-Widgets, da diese mit einem geeigneten Mischmodus Alpha korrekt in den Backbuffer schreiben

Plugin-Konfiguration

Einige Projekteinstellungen sind auf zwei Konfigurationen aufgeteilt files, mit der Möglichkeit einer lokalen Überschreibung.
Projekteinstellungen -> Plugins -> NVIDIA DLSS-Frame-Generierung
Die in DefaultEngine.ini gespeicherten Dateien befinden sich normalerweise in der Quellcodeverwaltung.
Die Einstellungen hier werden von den Benutzern gemeinsam genutzt
Projekteinstellungen -> Plugins -> NVIDIA DLSS-Frame-Generierung überschreibt (lokal) gespeicherte UserEngine.ini. Es wird nicht empfohlen, sie in die Quellcodeverwaltung einzuchecken.
Ermöglichen Sie einem Benutzer, bei Bedarf projektweite Einstellungen zu überschreiben. Standardmäßig ist „Projekteinstellungen verwenden“.

Befehlszeilenoptionen sowie Konsolenvariablen und -befehle

Notiz: UE DLSS Frame Generation-Plugin-Module werden sehr früh beim Start der Engine geladen, bevor Konsolenvariablen verfügbar sind. Daher werden verschiedene Debugging-Einstellungen über Befehlszeilenoptionen statt über Konsolenvariablen verfügbar gemacht.

Auswahl der Streamline-Binärvariante

Standardmäßig verwendet Streamline signierte Produktionsbinärdateien (z. B. sl.interposer.dll, sl.common.dll) aus dem Streamline\Binaries\ThirdParty\Win64\-Pfad. Sie weisen keine Wasserzeichen auf dem Bildschirm auf und sind für Anwendungen gedacht, die an Endbenutzer gesendet werden. Sie werden immer vom UE Streamline-Plugin gepackt.
Für nicht im Lieferumfang enthaltene UE-Builds können alternative Binärdateien über das Befehlszeilenargument -slbinaries={development,debug} ausgewählt werden, entsprechend den Pfaden Streamline\Binaries\ThirdParty\Win64\Development bzw. Streamline\Binaries\ThirdParty\Win64\Debug. Sie verfügen über Wasserzeichen auf dem Bildschirm und sollen während der Anwendungsentwicklung verwendet werden. Sie sind eine Voraussetzung für die Verwendung des Streamline-Debugoverlays. Sie werden nur vom UE Streamline-Plugin für nicht ausgelieferte UE-Builds gepackt.

Protokollierung

Standardmäßig verwendet Streamline sl:eLogLevelDefault. Dies kann mit dem Befehlszeilenargument -slloglevel={0,1,2}geändert werden, entsprechend sl::eLogLevelOff, sl::eLogLevelDefault, sl::eLogLevelVerbose
Standardmäßig ist das Streamline-Konsolenfenster deaktiviert. Dies kann mit dem Befehlszeilenargument -sllogconsole={0,1} geändert werden.

Allgemeine Einstellungen für die DLSS-Frame-Generierung

Das DLSS Frame Generation-Plugin verwendet verschiedene Engine-Side-Hooks, die durch die folgenden cvars konfiguriert werden können. Ihre Standardwerte sind r.Streamline.ViewIdOverride0: verwenden ViewState.UniqueID
1: am Set view ID auf 0 (Standard) r.Streamline.TagSceneColorWithoutHUD
Übergeben Sie die Szenenfarbe ohne HUD an die DLSS-Frame-Generierung (Standard = true) r.Streamline.Editor.TagSceneColorWithoutHUD
Übergeben Sie die Szenenfarbe ohne HUD an die DLSS-Frame-Generierung im Editor (Standard = falsch).
r.Streamline.ClearSceneColorAlpha
Klares Alpha der Szenenfarbe am Ende der Streamline view Erweiterung, damit nachfolgende UI-Drawcalls korrekt im Alphakanal dargestellt werden können (Standard = true) r.Streamline.Editor.TagUIColorAlpha
Experimentell: Übergeben Sie UI-Farbe und Alpha an Streamline in Editor-PIE-Fenstern (Standard = falsch).

Feinabstimmung von Bewegungsvektoren für die DLSS-Frame-Generierung

Die DLSS-Frame-Generierung erfordert korrekte Bewegungsvektoren, um ordnungsgemäß zu funktionieren. Die folgende Konsolenvariable kann zum Optimieren von Werten während der Spieleentwicklung verwendet werden: r.Streamline.DilateMotionVectors
0: Bewegungsvektoren mit niedriger Auflösung an die DLSS-Frame-Generierung übergeben (Standard)
1: Übergeben Sie erweiterte Bewegungsvektoren mit hoher Auflösung an die DLSS-Frame-Generierung. Dies kann zur Verbesserung der Bildqualität dünner Details beitragen. r.Streamline.MotionVectorScale
Skalieren Sie die Bewegungsvektoren der DLSS-Frame-Generierung zusätzlich zur Skalierung um 1/the mit dieser Konstante view Richtige Größe. (Standard = 1.0)

Feinabstimmungstiefe für die DLSS-Frame-Generierung

r.Streamline.CustomCameraNearPlane
Benutzerdefinierter Abstand zur Kamera in der Nähe der Ebene. Wird für interne DLSS-Frame-Generierungszwecke verwendet und muss nicht mit dem entsprechenden von der Engine verwendeten Wert übereinstimmen. (Standard = 0.01) r.Streamline.CustomCameraFarPlane
Benutzerdefinierter Abstand zur kamerafernen Ebene. Wird für interne DLSS-Frame-Generierungszwecke verwendet und muss nicht mit dem entsprechenden von der Engine verwendeten Wert übereinstimmen. (Standard = 75000.0)

Streamline-Reflex

Das UE DLSS Frame Generation-Plugin bietet eine Implementierung von NVIDIA Reflex, die halbkompatibel mit dem vorhandenen UE Reflex-Plugin ist, das mit unveränderten Versionen von UE geliefert wird.
Es wird empfohlen, das vorhandene UE Reflex-Plugin zu deaktivieren und die im UE DLSS Frame Generation-Plugin bereitgestellte Reflex-Implementierung zu verwenden. Bestehende Projekte, die Blueprint-Funktionen des UE Reflex-Plugins verwenden, sollten jedoch nach dem Hinzufügen des UE DLSS Frame Generation-Plugins weiterhin funktionieren, da die Blueprints des Reflex-Plugins die DLSS Frame Generation aufrufen sollten pluginsStandardmäßig sind die modularen Funktionen von

Reflex Blueprint-Bibliothek

Die Blaupausenbibliothek Reflex (Streamline) / UStreamlineLibraryReflex ist die empfohlene Methode zur Abfrage, ob Reflex unterstützt wird, und bietet außerdem Funktionen zum Konfigurieren von Reflex
IsReflexSupported, QueryReflexSupport SetReflexMode, GetReflexMode, GetDefaultReflexMode
GetGameToRenderLatencyInMs, GetGameLatencyInMs, GetRenderLatencyInMs

Konsolenvariablen (niedrige Ebene)

Es kann mit den folgenden Konsolenvariablen t.Streamline.Reflex.Enable konfiguriert werden
Aktivieren Sie die Streamline Reflex-Erweiterung. (Standard = 0) 0: Deaktiviert
1: Aktiviert t.Streamline.Reflex.Auto
Aktivieren Sie die Streamline Reflex-Erweiterung, wenn andere SL-Funktionen sie benötigen. (Standard = 1) 0: Deaktiviert
1: Aktiviert t.Streamline.Reflex.EnableInEditor
Aktivieren Sie Streamline Reflex im Editor. (Standard = 1) 0: Deaktiviert
1: Aktivierter t.Streamline.Reflex.Mode
Streamline Reflex-Modus (Standard = 1) 0: aus
1: geringe Latenz
2: niedrige Latenz mit Boost t.Streamline.Reflex.HandleMaxTickRate
Steuert, ob Streamline Reflex die Bildratenbegrenzung anstelle der Engine übernimmt (Standard = true). False: Die Engine übernimmt die Bildratenbegrenzung
true: Streamline Reflex übernimmt die Begrenzung der Bildrate
Interaktionen zwischen dem UE Reflex-Plugin und Reflex, die vom DLSS Frame Generation-Plugin bereitgestellt werden, können mit dieser Konsolenvariablen konfiguriert werden: r.Streamline.UnregisterReflexPlugin
Das vorhandene NVAPI-basierte UE Reflex-Plugin ist nicht mit der auf DLSS Frame Generation basierenden Implementierung kompatibel. Diese cvar steuert, ob die Registrierung des Reflex-Plugins von der Engine abgemeldet werden soll oder nicht. 0: Die modularen Funktionen des Reflex-Plugins bleiben registriert
1: Registrierung der modularen Funktionen des Reflex-Plugins aufheben. Die Reflex-Blueprint-Bibliothek sollte mit den modularen Funktionen des DLSS Frame Generation-Plugins funktionieren (Standard).

Reflexstatistiken

Wenn die Reflex- oder DLSS-Frame-Generierung aktiviert ist, kann Reflex die Verzögerung des Spiel-Threads bewältigen, um etwaige Frame-Rate-Grenzwerte durchzusetzen, wie etwa die über t.MaxFPS oder Frame-Rate-Glättung angeforderten. Die Statistik „Spiel-Thread-Wartezeit (Reflex)“ des Statistik-Threadings zeigt die Zeit an, die Reflex damit verbracht hat, den Spiel-Thread zu verzögern.

DLSS-Frame-Generierung

Das UE DLSS Frame Generation-Plugin bietet eine Implementierung der NVIDIA DLSS Frame Generation (DLSS-G). DLSS-G wird in Paket-Builds (oder beim Ausführen des Editors im Spielemodus) vollständig unterstützt.
DLSS-G wird im Editor teilweise mit den folgenden Einschränkungen unterstützt:
Das Haupteditorfenster funktioniert nicht unterstützt DLSS-G. Also „ausgewählt spielen“. viewHafen“ ist nicht wird unterstützt.
PIE (neues Fenster) wird für ein einzelnes PIE-Fenster unterstützt. Beim Öffnen mehrerer PIE-Fenster (z. B. zum Netzwerk-Debugging) bietet nur das erste Fenster DLSS-G-Unterstützung.
Verwenden Sie die Option „DLSS-FG im Play In Editor aktivieren“. view„Ports“ in den Projekteinstellungen, um dies zu aktivieren/deaktivieren
Hinweis: Für eine optimale Leistung muss Reflex für DLSS-G ebenfalls aktiviert sein. Dies geschieht automatisch. Weitere Einzelheiten finden Sie unter t.Streamline.Reflex.Auto

DLSS-G Blueprint-Bibliothek

Die Blueprint-Bibliothek DLSS-G (Streamline) / UStreamlineLibraryDLSSG ist die empfohlene Methode zur Abfrage, ob DLSS-G unterstützt wird, und bietet außerdem Funktionen zum Konfigurieren von DLSS-G
IsDLSSGSupported, QueryDLSSGSupport, GetDLSSGMinimumDriverVersion IsDLSSGModeSupported, GetSupportedDLSSGModes
SetDLSSGMode, GetDLSSGMode, GetDefaultDLSSGMode, GetDLSSGFrameTiming

Konsolenvariablen (niedrige Ebene)

Es kann mit den folgenden Konsolenvariablen r.Streamline.DLSSG.Enable konfiguriert werden
DLSSG aktivieren/deaktivieren (Standard = 0) r.Streamline.DLSSG.AdjustMotionBlurTimeScal
Wenn DLSS-G aktiv ist, passen Sie die Zeitskala der Bewegungsunschärfe basierend auf den generierten Bildern an (Standard = 1) r.Streamline.TagUIColorAlpha
Übergeben Sie UI-Farbe und Alpha an die DLSS-Frame-Generierung (Standard = true)

Statistiken

Die Engine ist sich der zusätzlichen Frames, die durch die Frame-Generierung generiert werden, nicht direkt bewusst, sodass in den integrierten Frame-Rate- und Frame-Time-Metriken möglicherweise Informationen fehlen. Die Statistikgruppe „DLSSG“ stellt Bildratenstatistiken unter Berücksichtigung der zusätzlichen Frames bereit. Verwenden Sie den Konsolenbefehl stat dlssg, um Informationen auf dem Bildschirm anzuzeigen.

Tipps und Best Practices

  1. Sobald Streamline/Frame Generation aktiv ist, können Sie es in einem PIE- oder Standalone-Fenster im Editor aktivieren, indem Sie den Befehl streamline.dlssg.enable 1 eingeben oder die Blueprint-Skriptfunktion verwenden (suchen Sie nach „streamline“, um eine Liste davon zu erhalten). Funktionen) und aktivieren Sie es bei beginplay.
  2. Navigieren Sie zu den Projekteinstellungen und dann zu Ihren Einstellungen für „NVIDIA DLSS Frame Generation“. Aktivieren Sie hier die Option „Load Debug Overlay“, um schnell und bequem zu bestätigen, dass die DLSS Frame Generation funktioniert, zusammen mit Echtzeitstatistiken.
  3. Stellen Sie im selben Einstellungsfenster sicher, dass die Option „OTA-Update zulassen“ aktiviert ist, wodurch sowohl Streamline als auch die KI-Algorithmen von DLSS automatisch auf den neuesten Stand gebracht werden
  4. Beachten Sie, dass das Debug-Overlay für die Frame-Generierung im Editor funktioniert und in Entwicklungs-/Debug-Builds angezeigt werden kann, jedoch nicht im Versand
  5. Im Unreal Editor funktioniert die Frame-Generierung nur im neuen Editor-Fenster (PIE) oder im Standalone-Modus, nicht im ausgewählten Modus ViewHafen oder während
  6. Wir empfehlen, dass Vsync in Ihrem Browser deaktiviert sein sollte, wenn die Frame-Generierung aktiviert ist. Das DLSS 3-Plugin kann Vsync so einstellen, dass es sich bei Aktivierung falsch verhält. Vsync kann mit dem Konsolenbefehl r.vsync 0 deaktiviert werden.
  7. Das NVIDIA DLSS Frame Generation Unreal Engine-Plugin enthält die neueste NVIDIA Reflex-Technologie – eine neuere Version als das derzeit in Unreal integrierte Reflex. Es ist zwar möglich, das alte Plugin aktiviert zu lassen und sogar die alten Reflex Blueprint-Skripte zu verwenden, es wird jedoch empfohlen, das zu deaktivieren Entfernen Sie das alte Reflex-Plugin und verwenden Sie stattdessen die neue Version, die in DLSS Frame Generation enthalten ist.
  8. Wir empfehlen Ihnen, alle NVIDIA-Geräte einzurichten plugins über Blueprint-Skripte, da diese eine komfortable Aktivierung ermöglichen plugins über UI-Menüs und legen Sie Einstellungen für fest. Wenn Sie jedoch Zugriff auf die DLSS Super Resolution-Konsolenbefehle benötigen, finden Sie diese unter „ngx“, während DLSS-Frame-Generierungsbefehle unter „streamline“ zu finden sind. Weitere Informationen zur Verwendung von DLSS Super Resolution-Konsolenbefehlen finden Sie im DLSS_Super_Resolution_Quick_Start_Guide.pdf, das im DLSS 3-Plugin-Download enthalten ist.

Erwartung von Leistungsvorteilen

DLSS 3 ist der Leistungsmultiplikator. Wenn es aktiviert ist, besteht in vielen Situationen das Potenzial, die Framerate drastisch zu erhöhen.

Allerdings gibt es dazu einige Hinweise und Vorbehalte. Beachten Sie daher Folgendes:

  1. DLSS Super Resolution erhöht möglicherweise nicht die Framerate in der Unreal Engine. Dies liegt daran, dass das Standardverhalten von UE darin besteht, Hochskalierung zu verwenden und diese hochskalierte Auflösung abhängig von der Fenstergröße automatisch zu verwalten. Wenn Sie also DLSS Super Resolution aktivieren, profitieren Sie von den Vorteilen der KI-verstärkten Hochskalierung, es werden jedoch dieselben Eingabeauflösungen wie in der Standardeinstellung verwendet.
  2. Allerdings stellen Sie möglicherweise fest, dass DLSS SR niedrigere Eingabeauflösungen verwenden kann, um die gleiche effektive Qualität zu erzielen, und DLSS unterstützt Eingabeauflösungen bis hinunter zu 33 % (Ultra-Leistung).
  3. Abhängig von der Szene und der Eingangsauflösung sind Leistungsmultiplikatoren von 5x bis 3x oder mehr zu erwarten.
  4. Komplexe Szene mit 100 % nativer Auflösung, 4K, 16 fps
  5. Dieselbe Szene läuft mit 33 % DLSS-Auflösung, 4k, 60 fps
  6. DLSS SR gewinnt in CPU-gebundenen Situationen möglicherweise nicht viel an Framerate, da die GPU ausgehungert wird. Um die maximale Leistung von DLSS SR zu erhalten, sollten Sie versuchen, alle CPU-bezogenen Engpässe zu beseitigen, die möglicherweise verhindern, dass es mit seiner höchsten Kapazität arbeitet.
  7. Die DLSS-Frame-Generierung kann dazu beitragen, viele CPU- und GPU-gebundene Situationen zu entschärfen. Der Leistungsgewinn kann zwischen dem 5-fachen und dem 2.2-fachen oder mehr liegen.
  8. Dieselbe Szene läuft mit 33 % DLSS-Auflösung und Frame-Generierung, 4k, 100 fps
  9. Beachten Sie, dass sowohl für DLSS SR als auch für FG anfängliche Kosten für die Einrichtung anfallen, die von der Szene und der Auflösung abhängen. Typischerweise können diese Leistungskosten zwischen 0.5 und mehr als 2 Millisekunden liegen, aber das Ziel besteht darin, dass der Nettoleistungsgewinn die Kosten übersteigt

 

Lesen Sie mehr über dieses Handbuch und laden Sie das PDF herunter:

Dokumente / Ressourcen

nVIDIA DLSS3 Unreal Engine Frame Generation Plugin [pdf] Anweisungen
DLSS3 Unreal Engine Frame Generation Plugin, DLSS3, Unreal Engine Frame Generation Plugin, Engine Frame Generation Plugin, Frame Generation Plugin, Generation Plugin, Plugin

Verweise

Hinterlasse einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Pflichtfelder sind markiert *