Matriz de diagnóstico: Erros D3D Device Lost na Unreal Engine e correções
Em jogos construídos na Unreal Engine 4 e 5, como Black Myth: Wukong ou Remnant II, é comum o jogo fechar sozinho mostrando a mensagem: LowLevelFatalError ... Unreal Engine is exiting due to D3D device being lost. (Error: 0x887A0006 - 'HUNG'). Isso acontece quando o Windows detecta que a GPU demorou mais do que o permitido para processar shaders pesados e reinicia o driver de vídeo por segurança.
| Código do Erro | Gatilho Principal | Subsistema Envolvido | TdrDelay é Eficaz? | Resolução Recomendada |
|---|---|---|---|---|
DXGI_ERROR_DEVICE_HUNG (0x887A0006) | Processamento de shaders ultrapassou o limite de 2 segundos do Windows | Fila de comandos da GPU / TDR | Muito Eficaz | Aumentar TdrDelay para 8-10 segundos no Registro |
DXGI_ERROR_DEVICE_REMOVED (0x887A0005) | Overclock de fábrica instável ou pico de consumo elétrico | Alimentação PCIe / Hardware | Parcial | Reduzir o clock da GPU em 50 MHz; limite de energia a 95% |
DXGI_ERROR_OUT_OF_MEMORY (0x887A000E) | Esgotamento da VRAM física ao rodar Lumen ou Ray Tracing | Alocador de memória DX12 | Ineficaz | Diminuir qualidade de texturas; ligar DLSS/FSR em Qualidade |
| Crash na compilação inicial | Instabilidade por Vmin Shift em CPUs Intel de 13ª/14ª geração | Microcódigo da CPU / BIOS | Ineficaz | Atualizar BIOS da placa-mãe para microcódigo recente (0x129+) |
Como funciona o TDR (Timeout Detection and Recovery) do Windows
O Windows possui um cronômetro de segurança para a placa de vídeo:
- Ao processar iluminação global complexa ou geometria densa, a GPU atinge 100% de uso contínuo.
- Se a GPU não responder em 2 segundos, o Windows presume que a máquina travou.
- O sistema operacional reseta o driver de vídeo imediatamente.
- Como a conexão gráfica do DirectX 12 é quebrada nesse reset, a Unreal Engine acusa a perda do dispositivo e fecha o jogo na hora.
Passo a passo para corrigir o problema
Passo 1: Configurar o TdrDelay no Registro do Windows
- Pressione
Win + R, digiteregedite dê Enter. - Acesse a pasta:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers - No lado direito, clique com o botão direito -> Novo -> Valor DWORD (32 bits).
- Digite o nome:
TdrDelay. - Abra a chave criada, marque a opção Decimal e coloque o valor 8 (estendendo o tempo de tolerância de 2 para 8 segundos).
- Crie outro valor DWORD chamado
TdrDdiDelaycom o valor decimal 8. - Reinicie o computador.
Passo 2: Forçar DirectX 11 se o DX12 continuar instável
- Na Steam, clique com o botão direito no jogo -> Propriedades -> Geral -> Opções de inicialização.
- Adicione:
-dx11ou-d3d11.