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 /f
powershell
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers /t REG_DWORD /v TdrDdiDelay /d 60 /f
Reboot 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+).