Matriz de diagnóstico: Errores D3D Device Lost en Unreal Engine y soluciones probadas
En títulos desarrollados con Unreal Engine 4 y 5 (Black Myth: Wukong, Remnant II), los jugadores sufren con frecuencia cierres repentinos acompañados del mensaje: LowLevelFatalError ... Unreal Engine is exiting due to D3D device being lost. (Error: 0x887A0006 - 'HUNG'). Este fallo indica que Windows ha reiniciado el controlador gráfico tras detectar que una tarea de sombreado superó el límite de tiempo asignado.
| Código de error | Causa principal | Subsistema afectado | ¿Efectivo TdrDelay? | Solución recomendada |
|---|---|---|---|---|
DXGI_ERROR_DEVICE_HUNG (0x887A0006) | La ejecución de sombreadores supera el límite de 2 segundos de Windows | Cola de comandos GPU / TDR | Muy eficaz | Ampliar TdrDelay a 8-10 segundos en el Registro de Windows |
DXGI_ERROR_DEVICE_REMOVED (0x887A0005) | Overclock de fábrica inestable o picos de consumo eléctrico | Alimentación PCIe / Hardware | Parcial | Bajar 50 MHz al reloj del núcleo; límite de energía al 95% |
DXGI_ERROR_OUT_OF_MEMORY (0x887A000E) | VRAM física agotada al activar Lumen o trazado de rayos | Asignador de memoria DX12 | Ineficaz | Reducir calidad de texturas; activar DLSS/FSR en modo Calidad |
| Cierre al compilar sombreadores | Inestabilidad Vmin Shift en CPU Intel de 13ª/14ª generación | Microcódigo CPU / Placa base | Ineficaz | Actualizar la BIOS con el microcódigo más reciente (0x129+) |
Mecanismo del TDR (Detección y Recuperación de Tiempo de Espera)
Windows incluye un sistema de seguridad para evitar bloqueos del sistema:
- Al renderizar efectos complejos (Lumen, Nanite), la GPU puede mantener ocupada la canalización al 100%.
- Si la tarjeta no responde en 2 segundos, Windows interpreta que el hardware se ha bloqueado.
- El sistema operativo reinicia el controlador gráfico de manera forzada.
- Como el contexto de renderizado de DirectX 12 se destruye durante este proceso, Unreal Engine detecta la pérdida del dispositivo y se cierra de inmediato.
Protocolo de optimización paso a paso
Paso 1: Ajustar el retraso del TDR en el Registro
- Pulsa
Win + R, escriberegedity presiona Enter. - Navega hasta:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers - Haz clic derecho en el panel derecho, selecciona Nuevo -> Valor de DWORD (32 bits).
- Nómbralo:
TdrDelay. - Haz doble clic, selecciona base Decimal e introduce el valor 8 (ampliando el margen de 2 a 8 segundos).
- Crea otro DWORD llamado
TdrDdiDelaycon valor decimal 8. - Reinicia el equipo.
Paso 2: Forzar DirectX 11 mediante parámetros de lanzamiento
- En Steam, clic derecho en el juego -> Propiedades -> General -> Parámetros de lanzamiento.
- Escribe:
-dx11o-d3d11.