¿Tus juegos de Unreal Engine se cierran de golpe con mensajes sobre D3D12, GetDeviceRemovedReason
y códigos como 0x887A0006
, junto a referencias a kernel32 y ntdll? Aquí encontrarás un flujo probado y ordenado para diagnosticar y resolver el problema en Windows con hardware moderno como RTX 3080 e Intel Core de última generación.
Síntomas y mensajes de error
Estos son los indicios típicos cuando el fallo está relacionado con el reinicio del controlador gráfico y no con un problema directo de Windows:
- Cierre súbito del juego sin pantallazo azul; aparece Crash Reporter de Unreal.
- Mensajes que mencionan D3D12,
DeviceRemoved
,GetDeviceRemovedReason
o el código0x887A0006
. - En el informe o traza aparecen kernel32.dll y ntdll.dll como módulos cargados.
- En el Visor de eventos de Windows suele figurar que el controlador de pantalla dejó de responder y se recuperó.
Indicador | Qué sugiere | Acción inicial |
---|---|---|
Crash al minuto de entrar a partida con D3D12 | Inestabilidad en DirectX 12 o en el controlador | Forzar el juego a DX11 y limpiar cachés |
Fallo al compilar shaders o tras cambios de gráficos | Caché de shaders corrupta o saturada | Borrar cachés de DirectX, NVIDIA y del juego |
Cuanto más alta la carga, más rápido cae | Límites térmicos o de potencia, o overclock inestable | Volver a valores stock y vigilar temperaturas |
Solo falla con overlays activos | Conflicto por ganchos y superposiciones | Desactivar overlays y OSD durante la prueba |
Qué significa el error dxgi device hung
El código 0x887A0006
corresponde a DXGIERRORDEVICE_HUNG, el síntoma clásico de un Timeout Detection and Recovery (TDR). En pocas palabras, la GPU o su controlador dejan de responder a tiempo bajo carga y Windows reinicia el driver para evitar un bloqueo del sistema. En los informes verás kernel32 y ntdll porque son capas base de Windows por donde pasa la llamada al cerrarse la aplicación, no porque sean la causa del fallo. La raíz suele estar en el controlador, en la estabilidad del hardware, en conflictos con ganchos de terceros o en la ruta D3D12 del propio juego.
Causas habituales en equipos de alto rendimiento
- Controladores gráficos con regresiones o residuos de instalaciones previas.
- Ruta de DirectX doce de ciertos títulos de Unreal menos tolerante a picos de latencia que la de once.
- Cachés de shaders dañadas o demasiado voluminosas.
- Overclock o undervolt de GPU o CPU, e incluso perfiles de memoria con XMP demasiado agresivos.
- Alimentación insuficiente o cableado incorrecto a la GPU.
- Temperatura elevada o ventilación deficiente del chasis.
- Superposiciones y ganchos de captura que interponen DLLs sobre D3D.
- Configuración de Windows como HAGS o MPO que, en algunos entornos, añade inestabilidad.
- Corrupción de archivos del sistema o del propio juego.
Plan de acción priorizado
Sigue el orden y prueba al finalizar cada bloque. La idea es aislar la causa con el menor cambio posible.
- Controlador gráfico limpio
- Desinstala el driver con una utilidad de desinstalación en Modo seguro para eliminar restos.
- Instala de nuevo un controlador NVIDIA Game Ready o Studio con instalación limpia, sin extras (sin GeForce Experience para la prueba).
- Si ya estás en el último, prueba una versión estable de hace dos o tres meses. Las regresiones existen.
- Forzar DirectX once y evitar la ruta de doce
- En Steam: Propiedades → Establecer opciones de lanzamiento y añade
-dx11
. - En Epic Games: Biblioteca → … del juego → Argumentos de línea de comandos adicionales y añade
-dx11
. - Si el juego permite selección interna, elige DirectX once y desactiva funciones como Lumen, Nanite o trazado de rayos para validar estabilidad.
- En Steam: Propiedades → Establecer opciones de lanzamiento y añade
- Eliminar cachés de shaders
- Windows: Configuración → Sistema → Almacenamiento → Archivos temporales y elimina Caché de sombreadores de DirectX.
- NVIDIA: borra el contenido de
%LocalAppData%\NVIDIA\DXCache
,%LocalAppData%\NVIDIA\GLCache
y%ProgramData%\NVIDIA Corporation\NV_Cache
. - Unreal por juego: en
%LOCALAPPDATA%\[Juego]\Saved\
elimina la carpetaDerivedDataCache
si existe. Los informes de fallos del juego se guardan en%LOCALAPPDATA%\[Juego]\Saved\Crashes
.
- Volver todo a valores de fábrica y revisar potencia
- Quita overclocks y undervolts de GPU y CPU. Restablece el perfil de memoria a JEDEC (desactiva XMP temporalmente) para descartar inestabilidad de RAM.
- Comprueba que tu fuente ofrezca al menos setecientos cincuenta vatios reales para una RTX 3080 y usa dos cables PCIe independientes desde la PSU a la GPU, evitando ramificaciones en Y.
- Reasienta la tarjeta y verifica conectores firmes y sin polvo.
- Temperaturas y estabilidad bajo carga
- Monitorea la GPU en juego; si supera alrededor de ochenta y cinco grados o hay picos térmicos, reduce límite de potencia o calidad gráfica y mejora el flujo de aire.
- Pasa un test de estrés de GPU y un test de memoria del sistema (Diagnóstico de memoria de Windows). Cualquier error o artefacto apunta a hardware inestable.
- Desactivar superposiciones y ganchos
- Desactiva overlays de GeForce Experience, Discord, Steam, Xbox Game Bar, capturadoras y OSDs de monitorización.
- Si usas Afterburner con RivaTuner, establece Application Detection Level en None para las pruebas.
- Ajustes de Windows y del panel de control
- HAGS (Programación de GPU acelerada por hardware): prueba encendido y apagado en Configuración → Sistema → Pantalla → Gráficos.
- Panel NVIDIA → Administrar configuración 3D: para el ejecutable del juego, fija Modo de administración de energía en Preferir máximo rendimiento y desactiva escalados o filtros experimentales.
- Actualiza controladores de chipset y el firmware ME de Intel, además del BIOS.
- Comprobación de integridad del sistema Ejecuta en consola con privilegios de administrador:
sfc /scannow DISM /Online /Cleanup-Image /RestoreHealth
Reinicia al finalizar y vuelve a probar. - Aumentar de forma conservadora el margen TDR Esto no soluciona la causa raíz, pero da más tiempo a la GPU antes de que Windows reinicie el driver.
- Abre el Editor del Registro y ve a
HKEYLOCALMACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers
. - Crea los valores DWORD de treinta y dos bits:
TdrDelay
= 10TdrDdiDelay
= 20
- Reinicia el equipo.
.reg
con este contenido:Windows Registry Editor Version 5.00 \[HKEY\LOCAL\MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers] "TdrDelay"=dword:0000000a "TdrDdiDelay"=dword:00000014
Guárdalo, ejecútalo y acepta. Si empeora la situación, revierte borrando las claves. - Abre el Editor del Registro y ve a
- Aislar con intercambio de componentes
- Prueba tu GPU en otro PC o, a la inversa, otra GPU en tu PC. Si el error emigra con la tarjeta, gestiona garantía de la GPU; si se queda, enfoca en placa, RAM o PSU.
Interpretación de resultados y siguientes pasos
- Si al forzar DX once y bajar gráficos desaparecen los cierres, el foco está en D3D doce o en el controlador. Mantén DX once hasta que el juego o el driver corrijan la ruta DX doce.
- Si incluso con DX once y en bajo ocurre bajo carga, sospecha de potencia, temperaturas o inestabilidad de memoria.
- Que kernel32 y ntdll aparezcan en la traza no significa que fallen; son bibliotecas base que siempre figuran en cierres de aplicaciones.
Resultado de la prueba | Indicación | Acción recomendada |
---|---|---|
Estable con controlador anterior | Regresión del driver reciente | Mantener versión estable y posponer actualizaciones mayoras |
Estable con XMP desactivado | Perfil de memoria demasiado agresivo | Ajustar tensiones o frecuencia de RAM; aplicar perfil más conservador |
Estable sin overlays | Conflicto de ganchos | Reconfigurar OSDs y grabadores; excluir el juego |
Cae en tests de memoria o estrés | Inestabilidad de hardware | Revisar voltajes, temperaturas, PSU o tramitar garantía |
Comprobaciones adicionales opcionales
- Desactivar MPO (Multiplane Overlay) en sistemas con múltiples monitores donde haya parpadeos o pantallas negras. Existen claves de registro para inhabilitarlo temporalmente durante la prueba; actívalo de nuevo si no aporta mejora.
- Alternar rebar (Resizable BAR) en la BIOS únicamente para descartar incompatibilidades puntuales. Por defecto conviene mantenerlo activo en GPUs actuales.
- Limitar fotogramas a la tasa del monitor y usar VSync o un limitador externo para suavizar picos de carga que disparan TDR.
- Reinstalar redistribuibles de Visual C Plus Plus del sistema si faltan dependencias para algunos títulos.
- Desactivar perfiles globales de filtros o escalados en el panel de NVIDIA que el juego no espere.
Práctica recomendada para validar
- Elige una escena o un punto reproducible del juego, preferiblemente con benchmark interno si existe.
- Aplica un solo cambio del plan y ejecuta la escena durante varios minutos observando estabilidad, temperatura y uso de potencia.
- Anota resultados y revierte cambios que no aporten mejora para evitar combinaciones que confundan el diagnóstico.
Preguntas frecuentes
¿Qué variante de controlador elegir, Game Ready o Studio?
Ambos comparten base de código. Studio suele priorizar estabilidad y validación prolongada. Si trabajas y juegas, a menudo Studio ofrece una experiencia más consistente sin perder rendimiento en juegos.
¿Es seguro usar desinstaladores de driver?
Sí, siempre que los ejecutes en modo seguro y sigas instrucciones. Su objetivo es eliminar residuos que el desinstalador estándar deja atrás.
¿Forzar DirectX once me hará perder prestaciones?
Depende del juego. Algunos efectos de próxima generación requieren la ruta de doce, pero para priorizar estabilidad mientras solucionas el problema, DX once es una herramienta de diagnóstico excelente y, en muchos casos, el impacto de rendimiento es menor que el costo de los cierres.
¿Aumentar TDR puede dañar mi hardware?
No. Solo amplía el tiempo de espera antes de que Windows reinicie el driver. Si lo subes mucho, podrías quedarte con la pantalla congelada más tiempo. Usa valores moderados como los propuestos y revierte si no ayuda.
¿Por qué el informe nombra a kernel32 y ntdll si no son culpables?
Porque forman parte del andamiaje de Windows donde desembocan muchas llamadas del proceso al cerrarse. En un TDR la secuencia de cierre pasa por esas DLLs y por eso aparecen en la traza.
¿Qué papel juega la fuente de alimentación?
Crucial. Una GPU de alta gama puede demandar picos de potencia muy elevados. Usa una PSU con margen suficiente y, sobre todo, conecta la tarjeta con dos cables PCIe separados para evitar caídas de tensión en picos.
Resumen ejecutivo
El código 0x887A0006
y los cierres relacionados con D3D12 indican un TDR: el driver gráfico no respondió a tiempo. La solución pasa por limpiar e instalar un driver estable, forzar DX once para aislar la ruta de doce, regenerar cachés de shaders, devolver el hardware a stock, asegurar potencia y temperatura adecuadas, eliminar overlays y afinar ajustes de Windows como HAGS. Si nada de esto resuelve, el intercambio de componentes te permitirá aislar si la tarjeta gráfica o la plataforma están defectuosas.
Checklist rápido
- Driver gráfico instalado en limpio.
- Juego forzado a DX once para probar.
- Cachés de DirectX, NVIDIA y del juego borradas.
- GPU y CPU sin OC ni UV; memoria sin XMP.
- PSU con margen y dos cables PCIe independientes.
- Temperaturas y picos bajo control; ventilación OK.
- Overlays y OSDs desactivados.
- HAGS alternado; panel de NVIDIA en máximo rendimiento para el juego.
- Integridad del sistema verificada con SFC y DISM.
- TDR ampliado de forma moderada solo si es necesario.
Con este flujo cubrirás los escenarios más probables en equipos con Windows moderno y tarjetas como la RTX 3080. En la gran mayoría de casos, la combinación de controlador limpio, DX once temporal y limpieza de cachés resuelve el problema sin tener que reinstalar el sistema operativo.