- Substance 3D home
- Home
- Getting Started
- Getting Started overview
- Activation and licenses
- System requirements
- Project creation
- Export
- Export overview
- Export window
- Export presets
- Export overview
- Glossary
- Performance
- Getting Started overview
- Interface
- Assets
- Substance 3D Assets
- Color picker
- Display settings
- History
- Layer stack
- Main menu
- Project configuration
- Properties
- Settings
- Shader settings
- Texture Set
- Toolbars
- Viewport
- Miscellaneous
- Assets
- Painting
- Painting overview
- Tool list
- Straight line
- Lazy mouse
- Symmetry
- Fill projections
- Presets
- Presets overview
- Creating and saving presets
- Creating particles presets
- Photoshop brush presets (ABR)
- Dynamic strokes
- Advanced channel painting
- Vector graphic (.svg & .ai)
- Text resource
- Effects
- Baking
- Content
- Creating custom effects
- Importing assets
- Creating custom effects
- Features
- Automatic UV Unwrapping
- Physical size
- Smart Materials and Masks
- Subsurface Scattering
- Dynamic Material Layering
- UV Reprojection
- UV Tiles
- Color Management
- Post Processing
- Iray Renderer
- Plugins
- Sparse Virtual Textures
- Custom Shaders
- SpaceMouse® by 3Dconnexion
- Universal Scene Description (USD)
- Send to
- Technical Support
- Performance Guidelines
- Configuring Pens and Tablets
- Exporting the log file
- Exporting a DXDiag
- Technical issues
- GPU Issues
- Crash when working with overclocked GPU
- Forcing the external GPU on Mac OS
- GPU drivers compatibility
- GPU drivers crash with long computations (TDR crash)
- GPU has outdated drivers
- GPU is not recognized
- GPU is not recognized and is mentionned as GDI Generic
- Issues with Nvidia GPUs on recent Mac OS versions
- Multi/Bi-GPU
- Running on integrated GPU
- Painter doesn't start on the right GPU
- Startup Issues
- Rendering Issues
- Stability Issues
- Miscellaneous Issues
- GPU Issues
- Workflow Issues
- Export Issues
- Tools Issues
- Project Issues
- Library Issues
- Viewport Issues
- Plugins Issues
- License Issues
- Pipeline and integration
- Installation and preferences
- Configuration
- Resource management
- Scripting and development
- Scripts and plugins
- Shader API Reference
- Shader API overview
- Changelog - Shader API
- Libraries - Shader API
- Lib Alpha - Shader API
- Lib Bayer - Shader API
- Lib Defines - Shader API
- Lib Emissive - Shader API
- Lib Env - Shader API
- Lib Normal - Shader API
- Lib PBR - Shader API
- Lib PBR Aniso - Shader API
- Lib Pom - Shader API
- Lib Random - Shader API
- Lib Sampler - Shader API
- Lib Sparse - Shader API
- Lib SSS - Shader API
- Lib Utils - Shader API
- Lib Vectors - Shader API
- Parameters - Shader API
- Shaders - Shader API
- Release notes
- Release notes overview
- All Changes
- Version 10.1
- Version 10.0
- Version 9.1
- Old versions
- Version 9.0
- Version 8.3
- Version 8.2
- Version 8.1
- Version 7.4
- Version 7.3
- Version 7.2
- Version 2021.1 (7.1.0)
- Version 2020.2 (6.2.0)
- Version 2020.1 (6.1.0)
- Version 2019.3
- Version 2019.2
- Version 2019.1
- Version 2018.3
- Version 2018.2
- Version 2018.1
- Version 2017.4
- Version 2017.3
- Version 2017.2
- Version 2017.1
- Version 2.6
- Version 2.5
- Version 2.4
- Version 2.3
- Version 2.2
GPU drivers crash with long computations (TDR crash)
On Windows, this window will appear if Substance 3D Painter detects that the current TDR value is below a specific limit (10 seconds).
Why does the GPU driver crash ?
In order to prevent any rendering or GPU computation from locking up the system, the Windows operating system kills the GPU driver whenever a rendering takes more than a few seconds. When the driver is killed, the application using it crashes automatically. It is not possible to know how long a rendering task or a computation may take (it depends on the GPU, the drivers, the OS, the mesh size, the texture size, etc.), therefore it is not possible to put a limit on how much the computer should process and avoid the crash from the application level.
On Windows there is a registry key specifying how long the OS should wait before killing the GPU driver. Application are not authorized to modify this setting directly, this procedure has to be done manually (see below).
For more information consult the official documentation: https://docs.microsoft.com/en-us/windows-hardware/drivers/display/tdr-registry-keys.
List of Keys that need to be changed
To adjust the TDR simply increase the TDR Delay: change both TdrDelay and TdrDdiDelay to a higher value (like 60 seconds).
How to edit the TDR values
Follow this procedure to change the TDR value.
Note that two different keys will have to be created/edited.
Please note that editing the registry can have serious, unexpected consequences that can prevent the system from starting and may require to reinstall the whole operating system if you are unsure of how to modify it. The registry keys mentioned in this page shouldn't create these kind of issues however.
Adobe take no responsibility for any damage caused to your system by modifying the system registry.
1 - Open the Run window
Click on Start then Run (or press the Windows and R key). It will open the Run window.
2 - Launch the registry editor
Type regedit in the text field and press OK.
3 - Navigate to the GraphicsDrivers registry key
The registry window will open.
In the left pane, navigate in the tree to the GraphicsDrivers key by going into:
ComputerHKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlGraphicsDrivers
Be sure to stay on "GraphicsDrivers" and to not click on the Registry keys below before going through the next steps.
4 - Add or Edit the TdrDelay value
If the TdrDelay value doesn't exist yet, right-click in the right pane and choose New > DWORD (32bit) Value . Name it "TdrDelay". The case is important, be sure to follow it (and check that there are no other characters such as a trailing space).
In the right pane, double click on the value TdrDelay. Change the Base setting to Decimal . Set the value to something else than the default 2 (we recommend 60).
This value indicates in seconds how long the operating system will wait before considering that the GPU is unresponsive during a computation.
5 - Add or Edit the TdrDdiDelay value
If the TdrDdiDelay value does not exist , right-click in the right pane and choose New > DWORD (32bit) Value . name it " TdrDdiDelay ". The case if important, be sure to follow it (and check that there are no other characters such as spaces).
In the right pane , double click on the value TdrDdiDelay . Change the Base setting to Decimal . Set the value to something else than the default 5 (we recommend 60 ).
This value indicates in seconds how long the operating system will wait before considering that a software took too much time to leave the GPU drivers.
Hexadecimal is the default value, simply switch to decimal to display the right value. Note that 3C (Hexadecimal) equals to 60 (Decimal).
6 - Finish and Restart
The right pane should now looks like this:
Close the Registry editor. Restart the computer by using Start then Restart .
The TdrValue is only looked at when the computer start, so to force a refresh a reboot is necessary.
If the application still crashes when doing a long computation, try increasing the delay (in seconds) from 60 to 120 for example.
How to revert the TDR to its default values ?
There are two ways to revert the TDR to its default values :
- Set the TdrDelay to 2s and the TdrDdiDelay to 5s, by following the steps described above.
- Or Remove the TdrDelay and TdrDdiDelay keys from the registry entry.