Some users that have installed Capture 2021.1 and are running on Windows may have come across a new warning dialog on startup that is referring to the TDR settings of the computer's video card.
Understanding TDR
The acronym stands for "timeout detection and recovery" and is a vital part of Windows' stability mechanisms. In Windows multitasking is achieved by time sharing CPU cores between applications. You can think of it as Windows keeping a timer, giving each application a predetermined amount of time to do some work before it is interrupted. Applications are generally completely unaware of these interruptions. This type of strategy does not work for work executed on the GPU though. As Windows sends work to the GPU it only has two options; wait until it finishes or reset the GPU if the work is taking unacceptably long. When the GPU is reset like that it is called a TDR.
Why do TDRs happen?
When Windows TDRs, the application that was sending work to the GPU is put in a very awkward position. In most cases the application will crash or force the user to end his work session. If this happens to Capture it will show a "Video Card Issues" error dialog that allows you to save your work and then restart Capture.
TDRs typically happen for one of the following two reasons:
- A bug in the shader and/or data sent to the GPU causes it to never terminate.
- The software is poorly designed and sends huge workloads to the GPU without splitting it up properly.
Overriding TDR settings
In order for the few people in the world that develop video card drivers to be able to verify that the drivers behave correctly with regard to TDRs it is necessary for them to be able to fake or provoke a TDR on demand. Therefore Windows contains some TDR settings in the registry. These can be used both to increase and decrease the likelihood of TDR occuring.
You could compare the Windows TDR settings with programming your car through the OBD port. That would be wrong. A better comparison would be modifying the engine's fuel injection behaviour through the manufacturer's proprietary port in order to alter emergency fuel cutoff behaviour.
Or, as Microsoft put it themselves in the official Microsoft documentation:
So what now?
It has come to our attention that some software manufacturers may encourage users to modify the TDR settings or even forcibly modify them on installation. We can only presume this is done in an effort to overcome issues caused by poor design in their software.
Your choices are:
- If you change the settings yourself: change them back. If you do not know what the original values were, reinstall Windows.
- If you did not change the settings yourself chances are some software you installed did. We recommend reinstalling Windows and reinstalling your software until you discover which software altered the settings, reinstalling Windows again and avoiding this software.
- Take no action, being aware that the stability of your system and softwares may be compromised. In particular, be ware that there is a risk that any temperature and fan regulation software you are using could fail, causing physical damage to your hardware either through instant catastrophic failure or reduced lifetime.
Why does Capture check this?
Since Capture is a graphically intense software we have spent a lot of development time on ensuring that Capture does not TDR your computer. If the TDR settings have been altered, Capture may TDR unnecessarily or not perform well as a result of other applications getting away with bad behaviour. With this early warning in place, both we and our users can avoid being led on a wild goose chase trying to sort out such issues.