Debugging
Increase the GPU TDR Delay for Long Render Operations
Windows kills the GPU after 2 seconds of no response by default (TDR). Unreal operations like heavy shader compilation or DDC filling can easily exceed that. A quick registry edit raises the limit and prevents spurious GPU resets.
gputdrwindowsregistryshaderperformance
TDR (Timeout Detection and Recovery) is a Windows watchdog that resets the GPU if it stops responding for too long. The default timeout is 2 seconds, which Unreal can blow past during heavy operations. The fix is a one-time registry edit.
Apply the Fix
Open PowerShell as Administrator and run these two commands:
powershell
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers /t REG_DWORD /v TdrDelay /d 60 /fpowershell
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers /t REG_DWORD /v TdrDdiDelay /d 60 /fReboot the machine after applying these changes for them to take effect.
What Each Key Does
- TdrDelay: seconds the OS waits before detecting a GPU hang (default: 2, set to 60)
- TdrDdiDelay: seconds for DDI calls specifically (default: 5, set to 60)
When This Helps
- Shader compilation causing intermittent black screens
- DDC filling operations triggering GPU resets
- nDisplay launch sequences that stress the GPU on startup
- "Display driver stopped responding and has recovered" errors in Event Viewer
Setting the value to 60 is a good balance that prevents false-positive TDR events while still catching genuine hangs. On dedicated render nodes, some teams set it even higher (120+).