Instrukcje wtyczki do generowania ramek nVIDIA DLSS3 Unreal Engine

Wtyczka do generowania ramek DLSS NVIDIA Unreal Engine (usprawnienie)
DLSS3 i wtyczka do generowania ramek DLSS NVIDIA Unreal Engine
NVIDIA® Generowanie ramek DLSS wtyczka jest częścią szerszego zestawu powiązanych technologii NVIDIA poprawiających wydajność i jakość obrazu oraz odpowiedniego silnika NVIDIA Unreal Engine plugins:NVIDIA Głęboko Super naukaampGenerowanie ramek (DLSS-FG) zwiększa liczbę klatek na sekundę, wykorzystując sztuczną inteligencję do renderowania dodatkowych klatek. DLSS-FG wymaga karty graficznej z serii Geforce RTX 40.
Nvidia Głęboko Nauka Supersampmolwa Super Rezolucja (DLSS-SR) zwiększa liczbę klatek na sekundę, renderując mniej pikseli i wykorzystując sztuczną inteligencję do generowania klatek o wysokiej rozdzielczości. DLSS-SR wymaga karty graficznej NVIDIA RTX. NVIDIA Głębokie uczenie się antyaliasingu (DLAA) służy do poprawy jakości obrazu. DLAA wymaga karty graficznej NVIDIA RTX.
Nvidia Skalowanie obrazu (NIS) zapewnia najlepsze w swojej klasie skalowanie i wyostrzanie dla procesorów graficznych innych niż RTX, zarówno NVIDIA, jak i innych firm. Proszę zapoznać się z firmą NVIDIA Skalowanie obrazu Wtyczka Unreal Engine zawiera dalsze szczegóły. NVIDIA DLSS 3 łączy w sobie technologię DLSS Super Rozdzielczość, generowanie ramek DLSS i NVIDIA Reflex.
Wtyczka NVIDIA Unreal Engine DLSS Frame Generation (udokumentowana tutaj) umożliwia: Generowanie ramek DLSS (zwane także DLSS-G lub DLSS-FG)
NVIDIA Reflex
Wtyczka NVIDIA Unreal Engine DLSS-SR (dostępna osobno) zapewnia: DLSS Super Rozdzielczość (DLSS-SR)
Głębokie uczenie się antyaliasingu (DLAA)
Wtyczka NVIDIA Unreal Engine NIS (dostępna osobno) zapewnia: Skalowanie obrazu NVIDIA
Rekomendacja integracji
Wtyczka DLSS Frame Generation jest obsługiwana „od razu po wyjęciu z pudełka” przez Unreal Engine 5.2, w tym pakiety wydań silników firmy Epic.
W przypadku wersji silnika 5.1 i wcześniejszych należy wprowadzić dodatkowe zmiany w samym silniku, aby obsługiwał wtyczkę DLSS Frame Generation. Zalecamy, aby integrację wykonał inżynier, który ma pewną wiedzę na temat przebudowy silnika Unreal Engine z kodu źródłowego, a także łączenia fragmentów kodu z samym kodem silnika.
Szybki start Generowanie ramek DLSS3
Uwaga: Generowanie ramek DLSS i implementacja Reflex są dostarczane razem poprzez bibliotekę „Streamline”, więc nazwa wtyczki to Streamline.
UE 5.2
- Skopiuj cały folder wtyczki Streamline gdzieś pod silnikiem Plugins\Marketplace lub w folderze projektu źródłowego Plugins folder Aby uzyskać pakietową wersję silnika firmy Epic, skopiuj wtyczkę gdzieś pod silnikiem silnika\PluginsFolder \Rynek
Aby uzyskać wersję silnika źródłowego, skopiuj wtyczkę gdzieś pod silnikiem silnika\PluginsFolder \Runtime
Jeśli masz projekt źródłowy (nie projekt zawierający wyłącznie schemat), możesz także skopiować wtyczkę pod swój projekt Plugins folder zamiast silnika. Dozwolona jest tylko jedna kopia wtyczki, więc nie kopiuj jej do obu lokalizacji - Włącz wtyczkę DLSS Frame Generation w Edytorze (Edycja -> Plugins)
- Uruchom ponownie edytor
- Sprawdź dziennik obsługi NVIDIA Streamline 1
UE 5.1 i starsze
- Połącz zmiany w silniku niestandardowym za pomocą niestandardowych wtyczek, generowania ramek DLSS i super rozdzielczości DLSS plugins do drzewa źródłowego, pasującego do Twojej wersji UE:
- Włącz wtyczkę DLSS Frame Generation w Edytorze
- Uruchom ponownie edytor
- Sprawdź dziennik obsługi NVIDIA Streamline 1
Wymagania systemowe dla generowania ramek DLSS
Minimalna wersja systemu operacyjnego Windows Win10 20H1 (wersja 2004, kompilacja 19041 lub wyższa), 64-bitowa
Wyświetlanie Harmonogram przyspieszany sprzętowo GPU (HWS) musi być włączony w Ustawieniach: System: Wyświetlacz: Grafika: Zmień domyślne ustawienia grafiki. https://devblogs.microsoft.com/directx/hardware-accelerated-gpu-scheduling/ Procesor graficzny oparty na architekturze NVIDIA Ada (seria GeForce RTX 40, seria NVIDIA RTX 6000)
Sterownik NVIDIA GeForce
Zalecane: wersja 531.18 lub wyższa
Projekt UE korzystający z DirectX 12 (domyślne RHI w ustawieniach projektu)
Łączenie i integrowanie niestandardowych zmian silnika w celu obsługi wtyczki generowania ramek DLSS
Silnik Unreal Engine 5.1
- Zastosuj wymagane zmiany po stronie silnika z tego repozytorium, korzystając z jednej z dwóch metod
- Połącz tę gałąź bezpośrednio, jeśli twoje drzewo kodów jest oparte na Git https://github.com/NvRTX/UnrealEngine/tree/dlss3/sl2-5.1-dlss-plugin
- Lub pobierz łatkę file przez ten link: https://github.com/EpicGames/UnrealEngine/compare/release…NvRTX:dlss3/sl2-5.1-dlss-plugin.patch
- Sprawdź, czy patch file jest kompatybilny z Twoją wersją silnika, uruchamiając następną komendę: git Apply –check ..NvRTX:dlss3/sl2-5.1-dlss-plugin.patch
- Ta operacja nie jest destrukcyjna i stanowi wyłącznie test mający na celu upewnienie się, że scalanie jest możliwe i oznaczenie każdego
- W przypadku jakichkolwiek problemów sprawdź files, które są łączone. Może się to zdarzyć w przypadku dotknięcia files mógł zostać zmodyfikowany przez samego programistę i test scalania git
- Zastosuj łatkę za pomocą następnego polecenia: git Apply ..NvRTX:dlss3/sl2-5.1-dlss-plugin.patch
- Odbuduj poprawioną wersję silnika i swój
- Włącz wtyczkę DLSS Frame Generation w Edytorze.
- Idź do Plugins
- Przewiń w dół, aż znajdziesz wtyczkę.
- Uruchom ponownie edytor.
- Sprawdzanie integracji generowania ramek DLSS w UE
- Uruchom edytor lub
- Sprawdź dane wyjściowe debugowania i/lub logi w $(Nazwa projektu)/Saved/Logs i poszukaj następującego wiersza: Obsługiwane NVIDIA Streamline 1
- Jeśli jakiekolwiek problemy będą się powtarzać, nie wahaj się skontaktować z firmą NVIDIA
Sama wtyczka UE DLSS Frame Generation jest taka sama dla innych wersji UE, ale na Githubie istnieją różne gałęzie/poprawki ze zmianami silnika dla każdej odpowiedniej wersji UE:
UE 5.0
Podobne do instrukcji 5.1 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
Podobne do instrukcji 5.1 Oddział
https://github.com/NvRTX/UnrealEngine/tree/dlss3/sl2-4.27-dlss-plugin
Skrawek
https://github.com/EpicGames/UnrealEngine/compare/release…NvRTX:dlss3/sl2-4.27-dlss-plugin.patch
Rozwiązywanie problemów
Szybkie wskazówki
- Jak sprawdzić, której wersji DirectX używasz: Otwórz dziennik wyjściowy w Unreal Search „RHI”, aby potwierdzić, której wersji DirectX używasz. Jeśli na przykład jest to DX3, zobaczysz coś w rodzaju „LogD12D12”.ample.
- Jak sprawdzić, czy generowanie ramek zostało poprawnie zainicjowane: Użyj dziennika wyjściowego i wyszukaj Streamline. Jeśli inicjalizacja się powiodła lub nie, powinieneś zobaczyć to potwierdzenie
- Jak sprawdzić, jaką wersję systemu Windows posiadasz: Kliknij przycisk Start lub przycisk Windows (zwykle w lewym dolnym rogu ekranu komputera). Kliknij Kliknij System. Kliknij Informacje (zwykle w lewym dolnym rogu ekranu). Wynikowy ekran pokazuje wersję systemu Windows.
Znane problemy
Generowanie ramek DLSS
możliwość wystąpienia błędu „usuń urządzenie” przy włączeniu DLSS-FG, jeśli w tym samym czasie aktywny jest SER (Reorder Execution Reordering). Poleć przynajmniej sterownik 531.18, aby zmniejszyć prawdopodobieństwo wystąpienia tego problemu. Nakładka debugowania
nakładka pokazuje polecenia klawiaturowe Ctrl-Shift-Home, Ctrl-Shift-Insert, Ctrl-Shift-Del, które mogą nie działać
Diagnozowanie problemów z wtyczkami w Edytorze
Moduły wtyczek UE DLSS Frame Generation zapisują różne informacje w następujących kategoriach dzienników UE: LogStreamline
LogStreamlineDziennik APIStreamlineBlueprint LogStreamlineD3D11RHI LogStreamlineD3D12RHI LogStreamlineRHI LogStreamlineRHIPreInit
Dostęp do nich można uzyskać w Edytorze w obszarze Okno -> Dziennik wyjściowy
Dziennik komunikatów można następnie przefiltrować, aby wyświetlić tylko komunikaty związane ze Streamline, aby uzyskać więcej informacji o tym, dlaczego wtyczka może nie działać zgodnie z oczekiwaniami.
Nakładka debugowania
W niedostarczanych kompilacjach UE wtyczka DLSS Frame Generation może wyświetlać nakładkę debugowania wyświetlającą informacje o czasie działania. Nakładkę można włączyć/wyłączyć w kompilacjach innych niż Shipping za pomocą opcji Plugins -> Generowanie ramek NVIDIA DLSS -> Opcja Załaduj nakładkę debugowania w Ustawieniach projektu.
To ustawienie można również zastąpić za pomocą opcji -sldebugoverlay i -slnodebugoverlay w wierszu poleceń. Spowoduje to niejawne wybranie plików binarnych Streamline Development. Nakładka jest obsługiwana tylko w systemach, w których obsługiwana jest funkcja DLSS-FG.
Nakładka debugowania umożliwia wizualizację różnych tekstur przekazywanych do Streamline dla DLSS-FG. Po włączeniu DLSS-FG Ctrl+Shift+Insert włącza następujący obraz view.
Ograniczenie liczby klatek na sekundę
Ze względu na sposób, w jaki Unreal Engine radzi sobie z ograniczaniem liczby klatek na sekundę, mogą wystąpić problemy polegające na tym, że liczba klatek na sekundę utknie na minimalnym poziomie i nie zostanie przywrócona. Zmienną konsoli t.Streamline.Reflex.HandleMaxTickRate można ustawić na False, aby pozwolić silnikowi ograniczyć maksymalną częstotliwość taktowania zamiast Streamline Reflex, co może pomóc w takich sytuacjach. Silnik nie jest świadomy generowania klatek DLSS, więc rzeczywista liczba klatek na sekundę grafiki może być w rzeczywistości dwukrotnie większa od ustawionej maksymalnej liczby klatek na sekundę silnika, gdy ta zmienna ma wartość Fałsz.
Rozważania dotyczące treści
Poprawne renderowanie wersji alfa interfejsu użytkownika
DLSS-FG może wykorzystywać kolor interfejsu użytkownika i bufor alfa w celu zwiększenia jakości obrazu złożonego interfejsu użytkownika. Wtyczka UE DLSS Frame Generation generuje to z bufora wstecznego, wyodrębniając kanał alfa po wyrenderowaniu interfejsu użytkownika (tuż przed obecnym).
UE domyślnie nie usuwa alfa koloru sceny, co działa dobrze, ponieważ większość, jeśli nie wszystkie, tryby mieszania materiałów UMG uwzględniają tylko przychodzące wartości alfa i zapisują wszystkie piksele. Jednak okno konsoli programisty jest renderowane po elementach interfejsu użytkownika i zapisuje do kanału alfa. Ta alfa utrzymuje się w różnych ramkach i powoduje wygenerowanie nieprawidłowego koloru interfejsu użytkownika i bufora alfa przez wtyczkę UE Streamline, a następnie przesłanie go do Streamline/DLSS-G.
Silnik nie zapewnia wbudowanego sposobu czyszczenia samego koloru alfa koloru sceny. W ten sposób wtyczka UE Streamline dodaje przejście renderujące, aby wyczyścić kanał alfa koloru sceny na końcu przetwarzania końcowego, zanim elementy interfejsu użytkownika zostaną wyrenderowane. Jest to kontrolowane przez r.Streamline.ClearSceneColorAlpha, która domyślnie ma wartość true.
Wtyczka Streamline dodaje również próg określający piksel jako interfejs użytkownika, w którym piksel ma większą wartość alfa niż próg r.Streamline.TagPróg UIColorAlpha. Domyślnie wartość cvar jest ustawiona na 0.0, więc każdy piksel, którego wartość alfa jest większa od zera, jest wyodrębniany do koloru interfejsu użytkownika i bufora alfa.
Uwaga: obsługa alfa kolorów interfejsu użytkownika jest obsługiwana tylko w samodzielnych oknach gier. W wyskakującym oknie edytora PIE kolor i alfa tagging jest domyślnie wyłączony (zobacz r.Streamline.Editor.TagUIColorAlpha ), ponieważ wyczyszczenie kanału alfa nie jest trywialne: okna PIE renderują scenę do osobnego celu renderowania „BufferedRT”, umieszczają go w buforze wstecznym, a następnie rysują na nim interfejs użytkownika przed prezentacją. Ten etap pośredni „BufferedRT” uniemożliwia działanie r.Streamline.ClearSceneColorAlpha zgodnie z zamierzeniami. Jako taka jakość obrazu w oknach edytora PIE nie jest reprezentatywna, jednak powinna być wystarczająca do opracowania interfejsu użytkownika i logiki ustawień przy użyciu biblioteki planów.
Działa to jednak tylko wtedy, gdy aplikacja renderuje interfejs użytkownika w oczekiwany sposób, co oznacza, że każdy element interfejsu użytkownika musi zapisać alfa w buforze wstecznym (niezależnie od tego, czy jest nieprzezroczysty czy przezroczysty). W praktyce oznacza to: Nie używaj UWidgetBlueprintLibrary::DrawText do rysowania tekstu interfejsu użytkownika, ponieważ tak jest nie napisz alfa.
Zamiast tego używaj widżetów UMG, ponieważ poprawnie zapisują one alfa w buforze wstecznym z odpowiednim trybem mieszania
Konfiguracja wtyczki
Niektóre ustawienia projektu są podzielone na dwa pliki konfiguracyjne files, z możliwością lokalnego obejścia.
Ustawienia projektu -> Plugins -> Generowanie ramek NVIDIA DLSS
przechowywane w pliku DefaultEngine.ini zazwyczaj znajdują się w kontroli źródła.
ustawienia tutaj są wspólne dla użytkowników
Ustawienia projektu -> Plugins -> Zastępuje generowanie ramek NVIDIA DLSS (lokalnie) zapisany plik UserEngine.ini. Nie zaleca się sprawdzania go w kontroli źródła.
w razie potrzeby zezwól użytkownikowi na zastąpienie ustawień całego projektu. Domyślnie jest to „Użyj ustawień projektu
Opcje wiersza poleceń oraz zmienne i polecenia konsoli
Notatka: Moduły wtyczek UE DLSS Frame Generation są ładowane bardzo wcześnie podczas uruchamiania silnika, zanim dostępne są zmienne konsoli. W związku z tym różne ustawienia debugowania są udostępniane za pośrednictwem opcji wiersza poleceń, a nie zmiennych konsoli.
Wybór smaku binarnego Streamline
Domyślnie Streamline używa podpisanych produkcyjnych plików binarnych (np. sl.interposer.dll, sl.common.dll) ze ścieżki Streamline\Binaries\ThirdParty\Win64\. Nie mają one ekranowych znaków wodnych i są przeznaczone do stosowania w aplikacjach dostarczanych użytkownikom końcowym. Są one zawsze spakowane przez wtyczkę UE Streamline.
W przypadku kompilacji UE, które nie są dostarczane, alternatywne pliki binarne można wybrać za pomocą argumentu wiersza poleceń -slbinaries={development,debug}, odpowiadającego odpowiednio ścieżkom Streamline\Binaries\ThirdParty\Win64\Development i Streamline\Binaries\ThirdParty\Win64\Debug. Mają ekranowe znaki wodne i są przeznaczone do użycia podczas tworzenia aplikacji i są wymagane do korzystania z nakładki debugowania Streamline. Są one pakowane tylko przez wtyczkę UE Streamline w przypadku kompilacji UE, które nie są dostarczane.
Wycięcie lasu
Domyślnie Streamline używa sl:eLogLevelDefault. Można to zmienić za pomocą argumentu wiersza poleceń -slloglevel={0,1,2}, odpowiadającego odpowiednio sl::eLogLevelOff, sl::eLogLevelDefault, sl::eLogLevelVerboser
Domyślnie okno konsoli Streamline jest wyłączone. Można to zmienić za pomocą argumentu wiersza poleceń -sllogconsole={0,1}.
Ogólne ustawienia generowania ramek DLSS
Wtyczka DLSS Frame Generation wykorzystuje różne zaczepy po stronie silnika, które można skonfigurować za pomocą następujących CVAR. Ich wartości domyślne r.Streamline.ViewIdOverride0: użyj ViewStan.UnikalnyID
1: na planie view ID na 0 (domyślnie) r. Usprawnienie.TagSceneColorBez HUD-a
Przekaż kolor sceny bez HUD-u do generowania klatek DLSS (domyślnie = true) r.Streamline.Editor.TagSceneColorBez HUD-a
Przekaż kolor sceny bez HUD-u do generowania klatek DLSS w edytorze (domyślnie = fałsz)
r.Streamline.ClearSceneColorAlpha
Wyczyść alfa koloru sceny na końcu Streamline view rozszerzenie umożliwiające poprawną reprezentację kolejnych wywołań interfejsu użytkownika w kanale alfa (domyślnie = prawda) r.Streamline.Editor.TagUIKolorAlfa
Eksperymentalnie: Przekaż kolor i alfa interfejsu użytkownika do Streamline w oknach Editor PIE (domyślnie = false)
Dostrajanie wektorów ruchu do generowania ramek DLSS
Generowanie ramek DLSS wymaga poprawnych wektorów ruchu, aby działać prawidłowo. Poniższej zmiennej konsoli można użyć do dostosowania wartości podczas tworzenia gry r.Streamline.DilateMotionVectors
0: przekazuje wektory ruchu o niskiej rozdzielczości do generowania ramek DLSS (domyślnie)
1: przekaż rozszerzone wektory ruchu o wysokiej rozdzielczości do generowania ramek DLSS. Może to pomóc w poprawie jakości obrazu cienkich szczegółów. r.Streamline.MotionVectorScale
Skaluj wektory ruchu generowania ramek DLSS o tę stałą, oprócz skali o 1/ view rozmiar prosty. (domyślnie = 1.0)
Dostrajanie głębokości generowania ramek DLSS
r.Streamline.CustomCameraNearPlane
Niestandardowa odległość do kamery w pobliżu samolotu. Używany do wewnętrznych celów generowania ramek DLSS, nie musi odpowiadać wartości używanej przez silnik. (domyślnie = 0.01) r.Streamline.CustomCameraFarPlane
Niestandardowa odległość od płaszczyzny dalekiej kamery. Używany do wewnętrznych celów generowania ramek DLSS, nie musi odpowiadać wartości używanej przez silnik. (domyślnie = 75000.0)
Usprawnij refleks
Wtyczka UE DLSS Frame Generation zapewnia implementację NVIDIA Reflex, która jest częściowo kompatybilna z istniejącą wtyczką UE Reflex dostarczaną z niezmodyfikowanymi wersjami UE.
Zalecane jest wyłączenie istniejącej wtyczki UE Reflex i skorzystanie z implementacji Reflex dostarczonej we wtyczce UE DLSS Frame Generation. Jednak istniejące projekty wykorzystujące funkcje planu z wtyczki UE Reflex powinny nadal działać po dodaniu wtyczki UE DLSS Frame Generation, ponieważ plany wtyczki Reflex powinny odwoływać się do generowania ramek DLSS pluginsdomyślnie modułowe funkcje.
Biblioteka planów odruchowych
Biblioteka planów Reflex (Streamline) / UStreamlineLibraryReflex to zalecany sposób sprawdzania, czy Reflex jest obsługiwany, a także udostępnia funkcje konfigurowania Reflex
IsReflexSupported, QueryReflexSupport SetReflexMode, GetReflexMode, GetDefaultReflexMode
GetGameToRenderLatencyInMs, GetGameLatencyInMs,GetRenderLatencyInMs
Zmienne konsoli (niski poziom)
Można go skonfigurować za pomocą następujących zmiennych konsoli t.Streamline.Reflex.Enable
Włącz rozszerzenie Streamline Reflex. (domyślnie = 0) 0: Wyłączone
1: Włączono t.Streamline.Reflex.Auto
Włącz rozszerzenie Streamline Reflex, gdy wymagają tego inne funkcje SL. (domyślnie = 1) 0: Wyłączone
1: Włączono t.Streamline.Reflex.EnableInEditor
Włącz Streamline Reflex w edytorze. (domyślnie = 1) 0: Wyłączone
1: Włączono tryb t.Streamline.Reflex.Mode
Tryb Streamline Reflex (domyślnie = 1) 0: wyłączony
1: małe opóźnienie
2: małe opóźnienia ze wzmocnieniem t.Streamline.Reflex.HandleMaxTickRate
Kontroluje, czy Streamline Reflex obsługuje ograniczanie liczby klatek na sekundę zamiast silnika (domyślnie = prawda) false: Silnik obsługuje ograniczanie liczby klatek na sekundę
true: Streamline Reflex obsługuje ograniczanie liczby klatek na sekundę
Interakcje pomiędzy wtyczką UE Reflex i Reflex zapewnianą przez wtyczkę DLSS Frame Generation można skonfigurować za pomocą tej zmiennej konsoli: r.Streamline.UnregisterReflexPlugin
Istniejąca wtyczka UE Reflex oparta na NVAPI jest niekompatybilna z implementacją opartą na generowaniu ramek DLSS. Ten cvar kontroluje, czy wtyczka Reflex powinna zostać wyrejestrowana z silnika, czy nie. 0: zachowaj rejestrację modułowych funkcji wtyczki Reflex
1: wyrejestruj modułowe funkcje wtyczki Reflex. Biblioteka planów Reflex powinna współpracować z modułowymi funkcjami wtyczki DLSS Frame Generation (domyślnie)
Statystyki refleksu
Gdy włączone jest generowanie ramek Reflex lub DLSS, Reflex może obsługiwać opóźnianie wątku gry w celu wymuszenia ograniczeń liczby klatek na sekundę, takich jak te wymagane przez t.MaxFPS lub wygładzanie liczby klatek na sekundę. Statystyka „Czas oczekiwania wątku gry (Reflex)” dotycząca wątków statystycznych pokazuje czas, jaki Reflex spędził na opóźnianiu wątku gry.
Generowanie ramek DLSS
Wtyczka UE DLSS Frame Generation zapewnia implementację NVIDIA DLSS Frame Generation (DLSS-G). DLSS-G jest w pełni obsługiwany w kompilacjach spakowanych (lub przy uruchomieniu edytora w trybie gry)
Edytor obsługuje częściowo technologię DLSS-G z następującymi ograniczeniami:
Główne okno edytora tak nie obsługuje DLSS-G. Zatem „zagraj w wybranych viewportu” jest nie utrzymany.
PIE (nowe okno) jest obsługiwane dla pojedynczego okna PIE. Podczas otwierania wielu okien PIE (np. w celu debugowania sieci) tylko pierwsze okno będzie obsługiwać DLSS-G.
Użyj opcji „Włącz DLSS-FG w trybie odtwarzania w edytorze viewporty” w ustawieniach projektu, aby włączyć/wyłączyć tę opcję
Uwaga: DLSS-G wymaga również włączenia funkcji Reflex w celu uzyskania optymalnej wydajności. Odbywa się to automatycznie. Dalsze szczegóły można znaleźć w artykule t.Streamline.Reflex.Auto
Biblioteka planów DLSS-G
Biblioteka planów DLSS-G (Streamline) / UStreamlineLibraryDLSSG to zalecany sposób sprawdzania, czy DLSS-G jest obsługiwany, a także zapewnia funkcje konfiguracji DLSS-G
IsDLSSGSupported, QueryDLSSGSupport, GetDLSSGMinimumDriverVersion IsDLSSGModeSupported, GetSupportedDLSSGModes
SetDLSSGMode, GetDLSSGMode, GetDefaultDLSSGMode, GetDLSSGFrameTiming
Zmienne konsoli (niski poziom)
Można go skonfigurować za pomocą następujących zmiennych konsoli r.Streamline.DLSSG.Enable
Włącz/wyłącz DLSSG (domyślnie = 0) r.Streamline.DLSSG.AdjustMotionBlurTimeScal
Gdy DLSS-G jest aktywne, dostosuj skalę czasu rozmycia ruchu w oparciu o wygenerowane klatki (domyślnie = 1) r.Streamline.TagUIKolorAlfa
Przekaż kolor i alfa interfejsu użytkownika do generowania ramek DLSS (domyślnie = prawda)
Statystyki
Silnik nie jest bezpośrednio świadomy obecności dodatkowych klatek generowanych przez generowanie klatek, więc wbudowanym metrykom szybkości klatek i czasu klatek może brakować informacji. Grupa statystyk „DLSSG” udostępnia statystyki liczby klatek na sekundę z uwzględnieniem dodatkowych klatek. Aby wyświetlić informacje na ekranie, użyj polecenia konsoli stat dlssg.
Wskazówki i najlepsze praktyki
- Gdy generowanie Streamline/Frame Generation jest aktywne, możesz je aktywować w oknie PIE lub Standalone w edytorze, wpisując polecenie streamline.dlssg.enable 1 lub używając funkcji Blueprint Script (wyszukaj „streamline”, aby uzyskać listę tych funkcje) i włączenie jej na początku gry.
- Przejdź do ustawień projektu, a następnie do preferencji „Generowanie ramek NVIDIA DLSS”. Tutaj przełącz opcję „Załaduj nakładkę debugowania”, aby szybko i wygodnie potwierdzić, że generowanie ramek DLSS działa, wraz ze statystykami w czasie rzeczywistym.
- W tym samym oknie ustawień upewnij się, że włączona jest opcja „Zezwalaj na aktualizację OTA”, która automatycznie zaktualizuje algorytmy Streamline i AI DLSS do najnowszych
- Należy pamiętać, że nakładka debugowania dla generowania ramek będzie działać w edytorze i może pojawić się w kompilacjach programistycznych/debugujących, ale nie pojawi się w wysyłce
- W edytorze Unreal Editor generowanie klatek działa tylko w oknie nowego edytora (PIE) lub w trybie autonomicznym, nie działa z poziomu wybranego Viewport lub podczas
- Zalecamy, aby przy włączonym generowaniu klatek Vsync był wyłączony. Wtyczka DLSS 3 może ustawić Vsync tak, aby zachowywał się nieprawidłowo, gdy jest aktywny. Vsync można wyłączyć za pomocą polecenia konsoli r.vsync 0.
- Wtyczka NVIDIA DLSS Frame Generation Unreal Engine zawiera najnowszą technologię NVIDIA Reflex – nowszą wersję niż Reflex obecnie wbudowany w Unreal. Chociaż możliwe jest pozostawienie starej wtyczki włączonej, a nawet używanie starych skryptów Reflex Blueprint Script, zaleca się wyłączenie wtyczki starą wtyczkę Reflex i zamiast tego użyj nowej wersji dołączonej do generowania ramek DLSS.
- Zalecamy skonfigurowanie wszystkich urządzeń NVIDIA plugins poprzez skrypty Blueprint, ponieważ pozwala to na wygodną aktywację plugins z menu interfejsu użytkownika i ustaw preferencje. Jeśli jednak potrzebujesz dostępu do poleceń konsoli DLSS Super Rozdzielczość, można je znaleźć w obszarze „ngx”, natomiast polecenia generowania ramek DLSS można znaleźć w obszarze „usprawnienie”. Przeczytaj plik DLSS_Super_Resolution_Quick_Start_Guide.pdf zawarty w pobranej wtyczce DLSS 3, aby uzyskać więcej informacji na temat korzystania z poleceń konsoli DLSS Super Definition.
Oczekiwanie korzyści w zakresie wydajności
DLSS 3 to mnożnik wydajności. Po aktywacji może radykalnie zwiększyć liczbę klatek na sekundę w wielu sytuacjach.
Istnieją jednak pewne uwagi i zastrzeżenia, dlatego należy pamiętać o następujących kwestiach:
- Funkcja DLSS Super rozdzielczości może nie zwiększać liczby klatek na sekundę w silniku Unreal Engine. Dzieje się tak dlatego, że domyślnym zachowaniem UE jest używanie skalowania w górę i automatyczne zarządzanie tą podwyższoną rozdzielczością w zależności od rozmiaru okna. Zatem po włączeniu DLSS Super Rozdzielczość uzyskasz korzyści wynikające ze skalowania wzmocnionego sztuczną inteligencją, ale będzie ona korzystać z tych samych rozdzielczości wejściowych, co domyślnie.
- Biorąc to pod uwagę, może się okazać, że DLSS SR może używać niższych rozdzielczości wejściowych, aby uzyskać tę samą efektywną jakość, a DLSS obsługuje rozdzielczości wejściowe aż do 33% (Ultra wydajność)
- W zależności od sceny i rozdzielczości wejściowej można spodziewać się mnożników wydajności od 5x do 3x lub więcej.
- Złożona scena działająca w 100% rozdzielczości natywnej, 4k, 16 klatek na sekundę
- Ta sama scena odtwarzana w rozdzielczości 33% DLSS, 4k, 60 kl./s
- DLSS SR może nie zyskać dużej liczby klatek na sekundę w sytuacjach związanych z procesorem, ponieważ procesor graficzny będzie głodny. Aby uzyskać maksymalną wydajność z DLSS SR, powinieneś spróbować wyeliminować wszelkie wąskie gardła związane z procesorem, które mogą uniemożliwiać mu pracę z najwyższą wydajnością.
- Generowanie ramek DLSS może pomóc złagodzić wiele sytuacji związanych z procesorem i procesorem graficznym, wzrost wydajności może wynosić od 5x do 2.2x lub więcej.
- Ta sama scena odtwarzana przy rozdzielczości 33% DLSS i generowaniu klatek, 4k, 100 kl./s
- Należy pamiętać, że konfiguracja zarówno DLSS SR, jak i FG wiąże się z pewnym początkowym kosztem, który będzie zależał od sceny i rozdzielczości. Zwykle te koszty wydajności mogą wynosić od 0.5 do ponad 2 milisekund, ale celem jest to, aby wzrost wydajności netto przewyższył koszty
Przeczytaj więcej o tym podręczniku i pobierz plik PDF:
Dokumenty / Zasoby
![]() |
Wtyczka do generowania ramek nVIDIA DLSS3 Unreal Engine [plik PDF] Instrukcje DLSS3 Wtyczka do generowania ramek Unreal Engine, DLSS3, Wtyczka do generowania ramek Unreal Engine, Wtyczka do generowania ramek silnika, Wtyczka do generowania ramek, Wtyczka do generowania ramek, Wtyczka |