Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In Direct3D 9 kan het stuurprogramma foutcodes retourneren, zoals E_OUTOFMEMORY, D3DERR_OUTOFVIDEOMEMORY en D3DERR_UNSUPPORTEDCOLORARG, zodat een toepassing hierop kan reageren. Soms worden de API-aanroepen die deze retourtypen hebben gegenereerd echter geladen in een opdrachtbuffer en worden ze in batches verzonden naar de GPU (zie Runtime- en stuurprogrammaoptimalisaties beheren). In dit geval kunnen de fouten niet worden doorgestuurd naar de toepassing wanneer er actie moet worden ondernomen, zodat de foutcode wordt gebruikt door de runtime en er een notitie wordt gemaakt op het apparaatobject dat dit is gebeurd. Later wanneer de toepassing IDirect3DDevice9::P resentaanroept, retourneert IDirect3DDevice9::P resent D3DERR_DRIVERINTERNALERROR. Daarom is de beste methode voor een toepassing die moet worden gebruikt bij het ontvangen van een D3DERR_DRIVERINTERNALERROR van IDirect3DDevice9::P resent is om het apparaat te vernietigen en opnieuw te maken.
Als u verder wilt proberen fouten op te sporen, vindt u hier enkele suggesties om te achterhalen welke API-aanroep de fout genereert:
Omdat de lijst met mogelijke retourwaarden niet is voltooid, kunt u proberen te achterhalen welke aanroep mislukt door elke API-aanroep als volgt te omringen:
TRACE ( "Calling DrawPrimitive" ); d3ddev->DrawPrim(...); TRACE ( "done\n" );De uitvoerdebugstream moet vervolgens de aanroep weergeven die het probleem veroorzaakt.
Voor foutopsporingsdoeleinden kunt u ook IDirect3DDevice9::ValidateDevice direct voor elke IDirect3DDevice9::D rawPrimitive aanroepen om te zien of er een extra probleem is met het apparaatstuurprogramma (niet-ondersteunde bewerking, onbruikbare combinatie van patroonindelingen, enzovoort).
Notitie
IDirect3DDevice9::ValidateDevice- moet zorgvuldig en spaarzaam worden gebruikt vanwege de hoeveelheid validatiewerkzaamheden die het stuurprogramma moet uitvoeren om een antwoord te retourneren.
Verwante onderwerpen