Hi,
I’m hitting a reproducible crash in Unreal Engine 5.6 (D3D12) when applying video settings while NVIDIA DLSS Frame Generation (Streamline DLSSG plugin) is enabled. From an in-game UI (UMG/CommonUI), I call GameUserSettings to apply resolution and window mode changes (and then save). This crashes only when DLSS Frame Generation is enabled. I tried to get around the problem by turning off the generator during changes and then turning it back on, but I was unsuccessful.
Blueprint flow (simplified):
-
StreamlineLibraryDLSSG::SetDLSSGMode(Off) -
(Tried)
FlushRenderingCommands()/FRenderCommandFence(BlueprintCallable C++ helper) -
UGameUserSettings::SetFullscreenMode(...) -
UGameUserSettings::SetScreenResolution(...) -
UGameUserSettings::ApplySettings(true) -
Optional delay / tick
-
Restore FG mode:
StreamlineLibraryDLSSG::SetDLSSGMode(PreviousMode)
I also tried:
-
Waiting (Delay 0.2 / next tick)
-
Borderless / Windowed / Exclusive Fullscreen (doesn’t matter)
-
Disabling HDR / changing tearing settings (no change)
-
Using only API calls (no CVars)
-
Render-thread flush + fence before ApplySettings (no change)
The crash:
LogD3D12RHI: Error: SwapChain1->ResizeBuffers(NumBackBuffers, SizeX, SizeY, UE::DXGIUtilities::GetSwapChainFormat(PixelFormat), SwapChainFlags) failed
...WindowsD3D12Viewport.cpp:310
with error 8000000A
Viewport=..., Num=3, Size=(1024,768), PF=18, DXGIFormat=0x18, Fullscreen=1, AllowTearing=1
Fatal error: ... D3D12Util.cpp [Line: 1015]
SwapChain1->ResizeBuffers(...) failed ... with error 8000000A
Script stack shows it happens when my UI calls “SafeApplyVideoSettings” → ApplySettings.
Is this a known issue/limitation in UE 5.6 with Streamline DLSS Frame Generation + DX12 swapchain resizing?
What is the recommended way to safely apply resolution/window mode changes when DLSS-G is enabled?
Thanks!