Cómo solucionar el error DXGI_ERROR_DEVICE_HUNG y LowLevelFatalError en juegos

Cómo solucionar el error DXGI_ERROR_DEVICE_HUNG y LowLevelFatalError en juegos
Anuncio relacionado

Introducción técnica al error DXGI_ERROR_DEVICE_HUNG y LowLevelFatalError

El fallo identificado como DXGI_ERROR_DEVICE_HUNG (frecuentemente acompañado de una ventana emergente que cita LowLevelFatalError o D3D12 Device Lost) es una de las interrupciones más complejas e invalidantes en el entorno de juegos en PC. Este problema se manifiesta principalmente en títulos desarrollados con los motores gráficos Unreal Engine 4 y Unreal Engine 5, ejecutados bajo las API de renderizado DirectX 12 o Vulkan.

A nivel técnico, el error indica que la interfaz gráfica de DirectX (DXGI) ha enviado una instrucción a la tarjeta de video (GPU) y esta no ha devuelto una respuesta dentro del tiempo límite asignado por el sistema operativo. Como consecuencia directa, el controlador gráfico colapsa, la API declara el dispositivo de renderizado como colgado o perdido, y la aplicación finaliza abruptamente para evitar daños físicos o corrupción de memoria en el sistema operativo.

Análisis profundo de las causas fundamentales del colapso gráfico

Para abordar la resolución de este fallo de manera efectiva, es indispensable desglosar los factores térmicos, lógicos y de hardware que desencadenan la desincronización entre la GPU y el motor de renderizado:

  • Límite TDR (Timeout Detection and Recovery) agresivo: Windows implementa una característica de seguridad llamada TDR que reinicia el controlador si la GPU tarda más de 2 segundos en procesar un fotograma. Títulos modernos con carga pesada de ray tracing o compilación de shaders en tiempo real sobrepasan habitualmente este margen.
  • Corrupción de la memoria caché de Shaders: Cuando los archivos guardados en la caché de sombreadores de DirectX o NVIDIA/AMD se corrompen tras un parche o actualización de controladores, la GPU entra en un bucle infinito de procesamiento.
  • Inestabilidad por overclock de fábrica (Factory OC): Muchas tarjetas gráficas ensambladas vienen con frecuencias de reloj elevadas que, aunque estables en benchmarks sintéticos, generan picos de voltaje inestables ante las fluctuaciones de carga dinámica de Unreal Engine.
  • Incompatibilidades de Hardware-Accelerated GPU Scheduling (HAGS): La función de programación de GPU acelerada por hardware en Windows 10 y 11 puede crear colisiones de memoria en el espacio de direcciones de VRAM.
  • Conflictos con software de superposición (Overlays): Aplicaciones como Discord, RivaTuner Statistics Server (RTSS), GeForce Experience o MSI Afterburner interfieren directamente con la capa de presentación de DXGI.

Método 1: Modificación avanzada de la tolerancia TDR mediante el Registro de Windows

Ampliar el tiempo que el kernel de Windows concede a la tarjeta gráfica para responder es el método definitivo para neutralizar el desbordamiento por latencia en el renderizado. Esto no reduce la velocidad de la GPU, simplemente evita que el sistema operativo 'asuma' erróneamente que la tarjeta ha quedado inservible.

Paso a paso para ajustar TdrDelay y TdrDdiDelay:

  1. Presiona las teclas Windows + R, escribe regedit y presiona Enter para abrir el Editor del Registro.
  2. Navega hasta la siguiente ruta exacta del registro:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers

  1. Haz clic derecho en un área vacía del panel derecho, selecciona Nuevo > Valor de DWORD (32 bits) (incluso si tu sistema es de 64 bits).
  2. Nombra al nuevo valor como TdrDelay. Haz doble clic sobre él, selecciona la base Decimal y establece su valor en 10 (representa 10 segundos de tolerancia).
  3. Crea un segundo valor DWORD (32 bits) llamado TdrDdiDelay, establece la base en Decimal y dale un valor de 10.

Si prefieres ejecutar este cambio mediante script mediante la consola de comandos con privilegios de administrador, puedes utilizar el siguiente código:

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers" /v TdrDelay /t REG_DWORD /d 10 /f
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers" /v TdrDdiDelay /t REG_DWORD /d 10 /f

Reinicia el equipo para que el Kernel de Windows cargue las nuevas directivas de tolerancia gráfica.

Método 2: Purgado integral de DirectX Shader Cache y reinstalación profunda de drivers mediante DDU

Si la caché de sombreadores integrada en el sistema contiene instrucciones mal compiladas, el motor enviará solicitudes defectuosas a la VRAM, provocando el error DXGI_ERROR_DEVICE_HUNG de forma recurrente.

Eliminación de datos almacenados e instalación en modo seguro:

  1. Abre la herramienta Limpieza de disco de Windows, selecciona la unidad principal (C:) y marca exclusivamente la casilla Caché de sombreadores de DirectX. Haz clic en Aceptar.
  2. Elimina manualmente la caché de sombreadores de NVIDIA o AMD navegando a la siguiente ruta en el Explorador de archivos:

%LOCALAPPDATA%\NVIDIA\DXCache (o la carpeta equivalente para la arquitectura de AMD).

  1. Borra todos los archivos contenidos dentro del directorio. Si algún archivo está bloqueado, cierra los servicios del juego desde el Administrador de tareas.
  2. Descarga la herramienta Display Driver Uninstaller (DDU) y la última versión del controlador gráfico desde la web oficial del fabricante.
  3. Inicia Windows en Modo Seguro, ejecuta DDU, selecciona el tipo de dispositivo GPU y haz clic en Limpiar y reiniciar.
  4. Una vez reiniciado el sistema en modo normal, instala el controlador oficial seleccionando la opción Instalación limpia.

Método 3: Ajuste de parámetros del motor gráfico y forzado del modo de compatibilidad API

Cuando el pipeline de DirectX 12 falla en la gestión de llamadas paralelas (Multi-engine async compute), es posible modificar los parámetros globales de renderizado forzando el juego a ejecutarse mediante instrucciones estables o desactivando funciones problemáticas como el Ray Tracing antes del arranque.

Configuración de comandos de inicio:

En plataformas como Steam o Epic Games Launcher, accede a las propiedades del juego e introduce en el campo de parámetros de lanzamiento cualquiera de las siguientes opciones:

-dx11 -d3d11 -force-d3d11

Si el juego requiere estrictamente DirectX 12, puedes desactivar el trazado de rayos directamente en el archivo de configuración Engine.ini del motor. Accede a:

%LOCALAPPDATA%\NombreDelJuego\Saved\Config\WindowsNoEditor\Engine.ini

Añade al final del archivo las siguientes líneas de código técnico para forzar el comportamiento del adaptador:

[SystemSettings]
r.RayTracing=0
r.D3D12.UseAllowTiling=0
r.GraphicsAdapter=-1
r.DX11.NVAftermath=0

Método 4: Desactivación de HAGS y estabilización de frecuencias GPU (Downclock de seguridad)

Si las soluciones de software no corrigen el problema por completo, la inestabilidad se origina en la entrega de energía de la tarjeta gráfica o en picos momentáneos de frecuencia (Voltage Spikes).

Procedimiento de ajuste físico y de sistema:

  • Desactivar HAGS en Windows: Ve a Configuración > Sistema > Pantalla > Configuración de gráficos. Desactiva la casilla Programación de GPU acelerada por hardware y reinicia el equipo.
  • Underclock preventivo con MSI Afterburner: Instala la utilidad MSI Afterburner. Reduce el Core Clock (MHz) en -50 MHz a -100 MHz y el Memory Clock (MHz) en -100 MHz. Aplica los cambios.

Esta ligera reducción de frecuencia elimina los micro-colapsos por falta de voltaje en componentes con overclocking de fábrica, neutralizando de raíz el aviso DXGI_ERROR_DEVICE_HUNG y devolviendo el control absoluto al jugador sin pérdida perceptible de rendimiento.

Anuncio
Seguir Leyendo

Guías y Soluciones Relacionadas

Windows Apps Juegos
WordPress

Cómo Solucionar el Error al Establecer una Conexión con la Base de Datos en WordPress

Descubre por qué ocurre el error de conexión a la base de datos en WordPress y aplica nuestros métodos efectivos para solucionarlo en minutos.

Leer guía completa →
Linux

Cómo Solucionar el Error de Resolución DNS en /etc/resolv.conf en Linux

¿Tus aplicaciones en Linux no tienen internet por fallos de DNS? Descubre cómo solucionar el problema de sobrescritura en el archivo resolv.conf.

Leer guía completa →
Mac

Cómo Solucionar el Error de Permisos de Accesibilidad Bloqueados en macOS de Forma Definitiva

¿Tus aplicaciones no responden a pesar de darles permisos? Descubre cómo solucionar el bloqueo de accesibilidad en macOS.

Leer guía completa →