FFehler

Vier verschiedene GameLoop-Fehler laufen alle unter "DirectX-Fehler"

Failed to initialize DirectX, DXGI_ERROR_DEVICE_HUNG und DXGI_ERROR_DEVICE_REMOVED beschreiben drei zusammenhanglose Defekte. Wer die Meldung liest, spart sich einen ganzen Abend.

DirectX ist die Schicht, durch die GameLoop zeichnet. Fast alles, was zwischen Emulator und GPU schiefgeht, taucht deshalb mit DirectX in der Meldung auf. Verwandt sind diese Fehler damit noch lange nicht. Vier verschiedene Defekte teilen sich dasselbe Etikett, und der Meldungstext ist das Einzige, was sie voneinander trennt.

MeldungWas sie tatsächlich bedeutet
Failed to initialize DirectX 11/12Das Render-Gerät wurde nie erzeugt — Treiber, oder eine GPU, die das Verlangte nicht kann
GetDeviceRemovedReason failed, DXGI_ERROR_DEVICE_HUNGDie GPU hat mitten im Bild nicht mehr geantwortet, Windows hat den Treiber zurückgesetzt
Your PC does not support DirectX 11Eine Fähigkeitsmeldung, wahr oder falsch, die vom Treiber kommt
DXGI_ERROR_DEVICE_REMOVEDDie GPU ist komplett verschwunden — Treiberabsturz, instabile Taktraten oder Stromversorgung

Initialisierungsfehler

Dieser erscheint, bevor das Spiel erscheint, und der Grafiktreiber ist die übliche Antwort. Holen Sie den Treiber von der Website des GPU-Herstellers statt über Windows Update, installieren Sie ihn, starten Sie neu.

Ändert das nichts, stellen Sie GameLoops Rendermodus in den Engine-Einstellungen von DirectX 12 auf DirectX 11 zurück. DX12-Unterstützung auf Hardware vor 2018 ist häufig auf dem Papier vorhanden und in der Praxis instabil, integrierte Grafik ist das häufigste Opfer. OpenGL ist die nächste Stufe darunter.

Führen Sie dxdiag aus, bevor Sie einen Hardwaredefekt annehmen. Der Reiter System nennt die verwendete DirectX-Version. Steht dort 12, während GameLoop behauptet, Ihr PC könne kein 11, ist die Hardware in Ordnung und der Treiber gibt das Feature-Level nicht korrekt frei — im Geräte-Manager entfernen und die aktuelle Herstellerversion sauber installieren.

Device hung und device removed

Diese beiden sollte man von den Initialisierungsfehlern trennen, weil sie während des Spielens auftreten und keiner von ihnen wirklich ein GameLoop-Fehler ist.

DEVICE_HUNG ist die Timeout Detection and Recovery von Windows bei der Arbeit: Die GPU hat ein Bild nicht rechtzeitig geliefert, also wurde der Treiber unter der Anwendung weg zurückgesetzt. Überhitzung, ein instabiles Übertakten und ein halb angewendetes Treiber-Update sind die drei Dinge, die das zuverlässig auslösen. Setzen Sie Offsets für Kern- und Speichertakt auf Werkswerte zurück, beobachten Sie die Temperaturen unter Last, und wenn der Treiber über einen alten drübergebügelt wurde, entfernen Sie ihn im abgesicherten Modus sauber mit dem Display Driver Uninstaller — bezogen von der Seite seines eigenen Entwicklers — und installieren Sie erst dann neu.

DEVICE_REMOVED ist der schwerere Verwandte: Die GPU war überhaupt nicht mehr verfügbar. Dieselben ersten beiden Prüfungen, plus Stromversorgung. Die Windows-Ereignisanzeige protokolliert unter Windows-Protokolle und System Treiberdetails zu den Quellen nvlddmkm bei NVIDIA und amdkmdap bei AMD. Danach rund um den Absturzzeitpunkt zu filtern, sagt mehr aus als jede allgemeine Fehlerliste.

Wenn gar keine Meldung kommt

Wenn GameLoop nach dem Ladebildschirm kommentarlos beendet wird, ist das oft derselbe DirectX-Fehler mit unterdrücktem Dialog. Das Anwendungsprotokoll der Ereignisanzeige, gelesen zum Zeitstempel des Absturzes, enthält meist den echten Fehlercode. Davor zwei günstige Prüfungen: Vollbildoptimierungen im Kompatibilitätsreiter der Verknüpfung deaktivieren und die Visual-C++-Redistributables über Windows-Einstellungen, Apps, Installierte Apps reparieren — die Shader-Kompilierung gehört zum Ersten, was bei beschädigter Laufzeit scheitert.

Was nicht hilft

DirectX 12 neu installieren. Da ist nichts neu zu installieren. Es ist eine Windows-Komponente, kein Redistributable-Paket.

Der TdrDelay-Registry-Eingriff. Das GPU-Zeitlimit zu verlängern hindert Windows daran, den Hänger zu melden. Gehängt hat die GPU trotzdem. Das verdeckt ein Temperatur- oder Treiberproblem, statt es zu lösen, und macht bei einer wirklich instabilen Karte aus einem behebbaren Reset einen eingefrorenen Desktop.

GameLoop bei einem Device-Removed-Fehler neu installieren. Der Emulator ist der Prozess, der zufällig lief, als die GPU vom Bus verschwand. Ihn neu zu installieren löst nichts.

Reflexhaft ein Windows-Update zurückrollen. Das ist ein legitimer Schritt, wenn der Fehler ein oder zwei Tage nach einem bestimmten KB begann und der Treiber bereits aktuell ist. Als erste Reaktion auf irgendeine DirectX-Meldung ist es ein großer, störender Eingriff mit geringer Trefferquote.