Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym artykule opisano strategie testowania i debugowania TDR (wykrywanie limitu czasu i odzyskiwanie) dla deweloperów sterowników wyświetlania grafiki.
Testy TDR w WHLK
Zestaw Windows Hardware Lab Kit (WHLK) zawiera testy specyficzne dla TDR, których deweloperzy sterowników mogą używać do celów testowania i debugowania. Na przykład deweloperzy mogą ręcznie wywołać GPU TDR przy użyciu SimulatePreemption TDR. Zobacz Device.Graphics , aby uzyskać więcej informacji na temat różnych testów związanych z TDR.
Klucze rejestru TDR do testowania i debugowania
Użyj następujących kluczy rejestru związanych z TDR do celów testowania lub debugowania tylko podczas procesu programowania sterowników.
Ważne
Użytkownicy końcowi nie powinni manipulować tymi kluczami rejestru. Aplikacje nie powinny manipulować tymi kluczami rejestru poza docelowym testowaniem ani debugowaniem podczas opracowywania sterowników.
poziom Tdr
Określa początkowy poziom odzyskiwania.
KeyPath : HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GraphicsDrivers
KeyValue : TdrLevel
ValueType : REG_DWORD
ValueData : TdrLevelXxx (see the following table)
Gdzie TdrLevelXxx może być jedną z następujących wartości:
| Wartość | Znaczenie |
|---|---|
| TdrLevelOff (0) | Wykrywanie wyłączone |
| TdrLevelBugcheck (1) | Kontrola błędów przy wykryciu przekroczenia limitu czasu; na przykład brak możliwości odzyskiwania. |
| TdrLevelRecoverVGA (2) | Odzyskaj do trybu VGA (nie zaimplementowano). |
| TdrLevelRecover (3) | Odzyskiwanie po przekroczeniu limitu czasu (wartość domyślna). |
TdrDelay
Określa liczbę sekund, przez które GPU może opóźnić żądanie przerwania z harmonogramu GPU. TdrDelay faktycznie jest ustawionym limitem czasu oczekiwania.
KeyPath : HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GraphicsDrivers
KeyValue : TdrDelay
ValueType : REG_DWORD
ValueData : Number of seconds to delay. The default value is 2 seconds.
TdrDdiDelay
Określa liczbę sekund, przez które system operacyjny zezwala wątkom na opuszczenie sterownika. Po upływie określonego czasu system operacyjny wykonuje sprawdzenie błędu komputera z kodem VIDEO_TDR_FAILURE (0x116).
KeyPath : HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GraphicsDrivers
KeyValue : TdrDdiDelay
ValueType : REG_DWORD
ValueData : Number of seconds to leave the driver. The default value is 5 seconds.
TdrDebugMode
Określa zachowanie związane z debugowaniem procesu TDR. Wartość domyślna to TDR_DEBUG_MODE_RECOVER_NO_PROMPT, która wskazuje, aby nie wprowadzać do debuggera.
KeyPath : HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GraphicsDrivers
KeyValue : TdrDebugMode
ValueType : REG_DWORD
ValueData : TDR_DEBUG_MODE_XXX (see the following table)
| Wartość | Znaczenie |
|---|---|
| TDR_DEBUG_MODE_OFF (0) | Przerwij debuger jądra przed odzyskiwaniem, aby umożliwić badanie limitu czasu. |
| TDR_DEBUG_MODE_IGNORE_TIMEOUT (1) | Ignoruj wszelkie limity czasu. |
| TDR_DEBUG_MODE_RECOVER_NO_PROMPT (2) | Odzyskiwanie bez włamywania się do debugera (wartość domyślna). |
| TDR_DEBUG_MODE_RECOVER_UNCONDITIONAL (3) | Odzyskaj nawet wtedy, gdy niektóre warunki odzyskiwania nie zostaną spełnione (na przykład odzyskaj po kolejnych przekroczeniach limitu czasu). |
TdrLimitTime
Określa domyślny czas, w którym określona liczba TDR (określona przez klucz TdrLimitCount ) jest dozwolona bez awarii komputera.
KeyPath : HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GraphicsDrivers
KeyValue : TdrLimitTime
ValueType : REG_DWORD
ValueData : Number of seconds before crashing. The default value is 60 seconds.
TdrLimitCount
Określa domyślną liczbę TDR (0x117), które system zezwala w czasie określonym przez klucz TdrLimitTime bez powodowania awarii komputera.
KeyPath : HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GraphicsDrivers
KeyValue : TdrLimitCount
ValueType : REG_DWORD
ValueData : Number of TDRs before crashing. The default value is 5.
TdrTestMode
Zastrzeżony. Nie używaj.
KeyPath : HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GraphicsDrivers
KeyValue : TdrTestMode
ValueType : REG_DWORD
ValueData : Do not use.
TdrDodPresentDelay
Określa liczbę sekund dozwolonych dla funkcji DxgkDdiPresentDisplayOnly sterownika tylko do wyświetlania w trybie jądra (KMDOD) na ukończenie asynchronicznego wyświetlenia, zgłaszając postęp do pfnPresentDisplayOnlyProgress (który jest przekazywany w strukturze DXGKARG_PRESENT_DISPLAYONLY).
KeyPath : HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GraphicsDrivers
KeyValue : TdrDodPresentDelay
ValueType : REG_DWORD
ValueData : Number of seconds allowed for **DxgkDdiPresentDisplayOnly** to complete an asynchronous present. The default value is 2 seconds. (Min: 1, Max: 15 * 60 = 15 minutes). This value is for debugging purposes only.
TdrDodVSyncDelay
Określa liczbę sekund, przez które strażnik V-sync czeka na zgłoszenie sygnału V-sync, zanim uruchomi TDR w KMDOD.
KeyPath : HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GraphicsDrivers
KeyValue : TdrDodVSyncDelay
ValueType : REG_DWORD
ValueData : Number of seconds that the V-sync watchdog waits for a V-sync to be reported before a TDR occurs with Kernel Mode Display-Only Drivers. Drivers are expected to report V-sync interrupts at the cadence of the display mode refresh rate. The default value is 2 seconds. (Min: 1s, Max: 15 * 60 = 15 minutes). This value is for debugging purposes only.