In modo del tutto casuale durante il gioco (a me è successo con FIFA19, ma pare succeda anche con altri giochi tipo Battlefield) tutto si blocca con il seguente DirectX Error:
DirectX function “Dx12Renderer::waitOnSwapChain Gpu timeout detected” failed with DXGI_ERROR_DEVICE_HUNG. DirectX function “Dx12Renderer::waitOnSwapChain Gpu timeout detected” failed with DXGI_ERROR_DEVICE_HUNG. GPU: “”, Driver: 43648. This error is usually caused by the graphics driver crashing; try installing the latest drivers. Also, make sure you have a supported graphics card with at least 1024 MB of VRAM.
Inutile dire come la scheda video abbia 8GB di RAM e i driver siano aggiornati all’ultima versione (nel mio caso driver NVIDIA 436.48). Anche reinstallare i driver non sembra sortire alcun effetto e il problema sembra manifestarsi in modo del tutto casuale (anche se potrebbe essere collegato alla connessione col server, dal momento che ho notato che appare più frequentemente, tanto da rendere il gioco ingiocabile, quando la EA ha problemi coi server).
In ogni caso una soluzione che sembra funzionare consiste nell’apportare una modifica al registro di sistema, aumentando il tempo per il parametro Timeout Detection and Recovery. In pratica Windows tenta di verificare se la scheda video abbia completato o meno una certa operazione entro un tempo consentito (2 secondi); qualora questo non succeda si innesca il meccanismo di errore. Una più dettagliata spiegazione del fenomeno può essere trovata sul supporto Microsoft.
Per cercare di correggere il problema aumentiamo quindi il tempo del TDR nella maniera seguente.
- Premiamo Win+R e digitiamo regedit nella finestra Esegui. Premiamo OK e apriamo il Registro di sistema.
- Posizioniamoci in Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers
- Nel riquadro sulla destra clicchiamo con il tasto destro del mouse e creiamo una nuova chiave di tipo QWORD (per i computer a 64bit)
- Come nome della chiave digitiamo TdrDelay
- Clicchiamoci due volte sopra ed inseriamo 10 come valore decimale (altrimenti la lettera a come valore esadecimale) in modo da aumentare il tempo a 10 secondi (possiamo anche aumentare il valore maggiormente nell’eventualità di altri problemi)
- Chiudiamo il registro di configurazione e riavviamo il computer, in modo da ricaricare il registro (in teoria sarebbe sufficiente riavviare esplora risorse)
Fatto questo il problema non dovrebbe più presentarsi.
Nel caso che il problema non si fosse ancora risolto possiamo provare a modificare le Impostazioni 3D per il gioco (questo per i possessori di una NVIDIA).
Procediamo nella maniera seguente:
- Clicchiamo col destro sul desktop e scegliamo Pannello di controllo NVIDIA
- Andiamo su Impostazioni 3D > Gestisci le impostazioni 3D
- Apriamo la scheda Impostazioni programma e selezioniamo FIFA 19
- Modifichiamo le seguenti voci:
Sincronizzazione verticale: Usa l’impostazione dell’applicazione 3D
Tecnologia monitor: Aggiornamento fisso
Velocità di aggiornamento preferita: La più elevata disponibile - Premiamo sul tasto Applica
Il crash sulle DirectX 12 sembra infatti legato alla tecnologia G-SYNC dei monitor NVIDIA.