Nyligen kommer några av våra läsare att ha stött på en intern felkod för drivrutinen när idirect3d. Detta problem uppstår för ett antal med hänsyn till orsaker. Vi ska titta på dem nu.
Rekommenderas
Direct3D-enheten är min Direct3D-renderingskomponent. Den lindar och lagrar renderingstillståndet. Dessutom utför Direct3D-enheten modifieringar och belysningsaffärer och rastrar vilken typ av bild som helst på ytan. XPDM sedan dess. WDDM.
Direct3D-gadget är en Direct3D-renderingskomponent. Den omsluter och lagrar dessutom objektets renderingstillstånd. Dessutom utför Direct3D-modellen transformationer och ljusarmaturoperationer och rastrar bilden som ett resultat. XPDM vs. WDDM.
Hur uppdaterar jag min Direct3D-drivrutin?
Ladda ner och installera Driver Turbo på en sådan dator.När installationen är klar klickar du på “Starta skanning”.När simuleringen är klar klickar du på Uppdatera drivrutin. Klicka här för att ladda ner Turbo Driver.
I Direct3D 9 gör Direct3D det möjligt för drivrutinen att returnera felkryptogram som E_OUTOFMEMORY, D3DERR_OUTOFVIDEOMEMORY och D3DERR_UNSUPPORTEDCOLORARG så att datorprogrammet alltid kan svara på dem. Men API-anropen som genereras av dessa returtyper laddas då och då in i en kommandobuffert och sammanlänkas ganska för att skickas till GPU:n (se Styra drivrutinsexekvering och optimering ). I det föregående fallet kan felet inte föras vidare som ett sätt till applikationen när åtgärd krävs, så den specifika felkoden förbrukas av körtiden med målenheten inser att detta just har hänt. Senare, när en viss applikation anropar IDirect3DDevice9 :: Present , använder IDirect3DDevice9 :: Present D3DERR_DRIVERINTERNALERROR. Av denna anledning är det bästa sättet att ha applikationer när man tar emot D3DERR_DRIVERINTERNALERROR från IDirect3DDevice9 :: Present att förstöra och återskapa enheten.
Hur fixar du att det inte finns några kompatibla Direct3D-enheter?
Svar (1) Markera rutan som “Ta bort drivrutinsprogram för denna enhet”. Kör Windows Update och se till att få de senaste uppdateringarna för ditt grafikpresentkortskonto.
Om du vill gå djupare in på felsökning, gå till Det finns ett par som pekar på förslag på vilka API-anrop som är nästa teamfel:
Eftersom listan över troliga returvärden inte är uttömmande, kan du experimentera med för att ta reda på vilken kontakt som är nere och även avsluta varje API-anrop så här:
TRACE ("Call DrawPrimitive");d3ddev-> DrawPrim (...);TRACE (utgång "klar n"); Nedladdningen av felsökning bör sedan avslöja lösningen som orsakade problemet.
För felsökningsändamål kan du också försöka anropa IDirect3DDevice9 :: ValidateDevice före varje IDirect3DDevice9 :: DrawPrimitive för att se om det finns många fler problem när man tittar på enhet ... lastbilsförare (arbete som inte stöds, onödig blandning av texturformat, etc.).
Obs
IDirect3DDevice9 :: ValidateDevice bör användas med försiktighet och sparsamhet, bilen på grund av mängden validering som den specifika föraren måste utföra direkt för att returnera en automatisk.