GPU-Treiber Absturz mit langen Berechnungen (TDR-Absturz)
Unter Windows wird dieses Fenster angezeigt, wenn Substance 3D Painter erkennt, dass der aktuelle TDR-Wert unter einem bestimmten Grenzwert liegt (10 Sekunden).
Warum wird der GPU-Treiber Absturz?
Um zu verhindern, dass das System durch Rendering oder GPU-Berechnung blockiert wird tötet das Windows-Betriebssystem den GPU-Treiber, wenn das Rendern mehr als einige Sekunden dauert. Wenn der Treiber beendet wird, wird die Anwendung, die ihn verwendet, automatisch Absturz. Es ist nicht möglich zu wissen, wie lange eine Rendering-Aufgabe oder eine Berechnung dauern kann (es hängt von der GPU, den Treibern, dem Betriebssystem, der Computergröße, der Computergröße, der Textur usw. ab), daher ist es nicht möglich, die Verarbeitungsdauer des Meshs zu begrenzen und den Absturz von der Anwendungsebene aus zu vermeiden.
Unter Windows gibt es eine Registrierung Schlüssel, die angibt, wie lange das Betriebssystem warten soll, bevor der GPU-Treiber beendet wird. Anwendungen sind nicht berechtigt, diese Einstellung direkt zu ändern, dieses Verfahren muss manuell durchgeführt werden (siehe unten).
Weitere Informationen finden Sie in der offiziellen Dokumentation: https://docs.microsoft.com/en-us/windows-hardware/drivers/display/tdr-registry-keys
Liste der Schlüssel, die geändert werden müssen
Um den TDR anzupassen, erhöhen Sie einfach die TDR-Verzögerung: ändern Sie sowohl TdrDelay als auch TdrDdiDelay in einen höheren Wert (z. B. 60 Sekunden).
Bearbeiten der TDR-Werte
Gehen Sie wie folgt vor, um den TDR-Wert zu ändern.
Beachten Sie, dass zwei verschiedene Schlüssel erstellt/bearbeitet werden müssen.
1 - Öffnen Sie das Fenster Ausführen.
Klicken Sie auf Start und anschließend auf Ausführen (oder drücken Sie die Tasten Windows und R). Das Fenster “Ausführen” wird geöffnet.
2 - Starten Sie den Registrierungseditor
Geben Sie regedit in das Textfeld ein, und drücken Sie OK.
3 - Navigieren Sie zum Registrierungsschlüssel GraphicsDrivers .
Das Registrierungsfenster wird geöffnet.
Navigieren Sie im linken Bereich in der Struktur zum Schlüssel GraphicsDrivers, indem Sie wie folgt vorgehen:
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers
Vergewissern Sie sich, dass auf “GraphicsDrivers” (Grafiktreiber) und auf auf der Registrierung Schlüssel unten nicht klicken, bevor Sie die nächsten Schritte ausführen.
4 - TdrDelay-Wert hinzufügen oder bearbeiten
Doppelklicken Sie im rechten Fensterbereich auf den Wert TdrDelay. Ändern Sie die Base-Einstellung in Decimal . Setzen Sie den Wert auf einen anderen Wert als den Standardwert 2 (wir empfehlen 60).
Dieser Wert gibt in Sekunden an, wie lange das Betriebssystem warten wird, bevor es berücksichtigt, dass die GPU während einer Berechnung nicht reagiert.
5 - Hinzufügen oder Bearbeiten des TdrDdiDelay-Werts
Doppelklicken Sie im rechten Fensterbereich auf den Wert TdrDdiDelay . Ändern Sie die Base-Einstellung in Decimal . Setzen Sie den Wert auf einen anderen Wert als den Standardwert 5 (wir empfehlen 60 ).
Dieser Wert gibt in Sekunden an, wie lange das Betriebssystem warten wird, bevor es berücksichtigt, dass es zu lange gedauert hat, bis eine Software die GPU-Treiber verlassen hat.
Hexadezimal ist der Standardwert. Wechseln Sie einfach zu Dezimal, um den richtigen Wert anzuzeigen. Beachten Sie, dass 3C (Hexadezimal) gleich 60 (Dezimal) ist.
6 - Fertigstellen und Neustarten
Der rechte Bereich sollte nun so aussehen:
Schließen Sie den Registrierungseditor. Starten Sie den Computer neu, indem Sie Start und anschließend Neu starten verwenden.
Der TdrValue wird nur beim Starten des Computers überprüft, sodass ein Neustart erforderlich ist, um eine Aktualisierung zu erzwingen.
Wenn die Anwendung bei einer langen Berechnung immer noch Absturz macht, versuchen Sie, die Verzögerung (in Sekunden) von 60 auf 120 zu erhöhen.
TDR-Werte auf Standardwerte zurücksetzen
Es gibt zwei Möglichkeiten, den TDR auf die Standardwerte zurückzusetzen:
- Legen Sie die TdrDelay auf 2s und die TdrDdiDelay auf 5s fest, indem Sie die oben beschriebenen Schritte ausführen.
- Oder Entfernen Sie die Schlüssel TdrDelay und TdrDdiDelay aus dem Registrierungseintrag.