How to Change Windows GPU TDR Delay in Registry

Windows Timeout Detection and Recovery (TDR) is a safeguard designed to detect when graphics hardware is frozen and automatically reset the driver to prevent a full system freeze. When running resource-intensive DirectX applications, rendering engines, or compute tasks, this detection mechanism may trigger prematurely, causing unexpected application crashes or "Display driver stopped responding" errors. This article details the specific Windows registry settings used to adjust or disable the GPU TDR delay, their exact values, and how to configure them properly.

TDR Registry Location

All TDR-related parameters are located within the Windows Registry under the graphics driver configuration key:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GraphicsDrivers

Key Settings Controlling TDR Delay

Windows provides several REG_DWORD values to control how the OS handles DirectX and graphics timeouts:

1. TdrDelay

  • Type: REG_DWORD
  • Default Value: 2 (seconds)
  • Function: Specifies the number of seconds that the GPU is permitted to delay a preemption request from the GPU scheduler. If the GPU does not respond within this timeframe, Windows initiates a recovery event.
  • Usage: Increasing this value (for example, to 8 or 10) gives complex shaders and heavy DirectX rendering tasks more time to finish before Windows assumes the GPU has hung.

2. TdrDdiDelay

  • Type: REG_DWORD
  • Default Value: 5 (seconds)
  • Function: Specifies the number of seconds that the operating system allows threads to leave the device driver interface (DDI).
  • Usage: This works in tandem with TdrDelay. When increasing TdrDelay, you should often increase TdrDdiDelay proportionally to allow the driver adequate time to release execution contexts.

3. TdrLevel

  • Type: REG_DWORD
  • Default Value: 3 (TdrLevelRecover)
  • Function: Defines the system's behavior when a timeout is detected.
  • Possible Values:
    • 0 – TdrLevelOff: Completely disables TDR detection (not recommended for daily use, primarily for debugging).
    • 1 – TdrLevelBugCheck: Forces a system Blue Screen of Death (BSOD) when a timeout occurs instead of attempting recovery.
    • 2 – TdrLevelRecoverVGA: Recovers to a basic VGA driver.
    • 3 – TdrLevelRecover: Default recovery behavior; resets the driver without rebooting the PC.

How to Modify the TDR Settings

  1. Press Win + R, type regedit, and press Enter to open the Registry Editor.

  2. Navigate to:

    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GraphicsDrivers
  3. Check the right-hand pane for TdrDelay. If it does not exist, right-click an empty area, select New > DWORD (32-bit) Value, and name it TdrDelay.

  4. Double-click TdrDelay, switch the Base to Decimal, and set the value to your desired timeout in seconds (such as 8 or 10).

  5. (Optional) Create or edit TdrDdiDelay as a DWORD (32-bit) Value, set Base to Decimal, and assign a value (such as 10 or 15).

  6. Click OK to save your changes.

  7. Close the Registry Editor and restart your computer for the new settings to take effect.