Cuatro fallas distintas de GameLoop se llaman todas "error de DirectX"
Failed to initialize DirectX, DXGI_ERROR_DEVICE_HUNG y DXGI_ERROR_DEVICE_REMOVED describen tres fallas sin relación entre sí. Leer el mensaje decide la solución; adivinar te cuesta la noche.
DirectX es la capa por la que dibuja GameLoop, así que casi todo lo que sale mal entre el emulador y la GPU aparece con DirectX en el mensaje. Eso no hace que las fallas estén relacionadas. Cuatro fallas distintas comparten la etiqueta, y el texto del mensaje es lo único que las separa.
| Mensaje | Qué significa en realidad |
|---|---|
| Failed to initialize DirectX 11/12 | El dispositivo de render nunca se creó: controlador, o una GPU que no puede hacer lo que se le pidió |
GetDeviceRemovedReason failed, DXGI_ERROR_DEVICE_HUNG | La GPU dejó de responder a mitad de cuadro y Windows reinició el controlador |
| Your PC does not support DirectX 11 | Un reporte de capacidades, cierto o falso, que viene del controlador |
DXGI_ERROR_DEVICE_REMOVED | La GPU desapareció por completo: caída del controlador, relojes inestables o alimentación |
Fallas de inicialización
Esta aparece antes que el juego, y el controlador gráfico es la respuesta habitual. Toma el controlador del sitio del propio fabricante de la GPU y no de Windows Update, instala y reinicia.
Si eso no cambia nada, baja el modo de render de GameLoop de DirectX 12 a DirectX 11 en sus ajustes de motor. El soporte de DX12 en hardware anterior a 2018 está presente en el papel con mucha frecuencia y es inestable en la práctica, y los gráficos integrados son la víctima más común. OpenGL es el siguiente escalón hacia abajo.
Ejecuta dxdiag antes de dar por sentado un fallo de hardware. La pestaña Sistema informa la versión de DirectX en uso. Si dice 12 mientras GameLoop insiste en que tu PC no puede con DirectX 11, el hardware está bien y el controlador no está exponiendo correctamente el nivel de características: quítalo desde el Administrador de dispositivos e instala limpia la compilación actual del fabricante.
Device hung y device removed
Vale la pena separar estas dos de la inicialización porque ocurren durante el juego, y ninguna de las dos es realmente un fallo de GameLoop.
DEVICE_HUNG es la Detección y Recuperación de Tiempos de Espera de Windows haciendo su trabajo: la GPU no devolvió un cuadro a tiempo, así que el controlador se reinició por debajo de la aplicación. El sobrecalentamiento, un overclock inestable y una actualización de controlador aplicada a medias son las tres cosas que lo provocan de manera confiable. Devuelve a valores de fábrica cualquier ajuste de frecuencia de núcleo y memoria, vigila las temperaturas bajo carga y, si el controlador se actualizó encima de uno viejo, quítalo limpiamente con Display Driver Uninstaller — descargado del sitio de su propio desarrollador — en Modo seguro antes de reinstalar.
DEVICE_REMOVED es el primo más grave: la GPU quedó completamente indisponible. Las mismas dos primeras revisiones, más la alimentación eléctrica. El Visor de eventos de Windows, en Registros de Windows y Sistema, guarda detalle a nivel de controlador bajo orígenes llamados nvlddmkm en NVIDIA y amdkmdap en AMD. Filtrar por esos nombres alrededor de la hora del fallo te dice más que cualquier lista genérica de soluciones.
Cuando no hay ningún mensaje
Que GameLoop se cierre en silencio después de la pantalla de carga suele ser la misma falla de DirectX con el cuadro de diálogo suprimido. El registro de Aplicación del Visor de eventos, leído en la marca de tiempo del cierre, normalmente contiene el código de error real. Antes de eso, dos revisiones baratas: desactiva las optimizaciones de pantalla completa en la pestaña Compatibilidad del acceso directo, y repara los Visual C++ Redistributables desde Configuración de Windows, Aplicaciones, Aplicaciones instaladas — la compilación de sombreadores es de lo primero que falla cuando un tiempo de ejecución está dañado.
Qué no lo soluciona
Reinstalar DirectX 12. No hay nada que reinstalar. Es un componente de Windows, no un paquete redistribuible.
El ajuste de registro TdrDelay. Extender el tiempo de espera de la GPU evita que Windows reporte el bloqueo. La GPU igual se bloqueó. Eso esconde un problema térmico o de controlador en lugar de resolverlo y, en una placa genuinamente inestable, convierte un reinicio recuperable en un escritorio congelado.
Reinstalar GameLoop por un error device-removed. El emulador es el proceso que casualmente estaba corriendo cuando la GPU se cayó del bus. Reinstalarlo no aborda nada.
Revertir una actualización de Windows por reflejo. Es una medida legítima cuando el error empezó uno o dos días después de un KB específico y el controlador ya está al día. Como primera respuesta a cualquier mensaje de DirectX es una acción grande, disruptiva y con baja tasa de acierto.