Delen via


D3DPRESENT

Beschrijft de relatie tussen de vernieuwingsfrequentie van de adapter en de snelheid waarmee huidige of huidige bewerkingen worden voltooid. Deze waarden fungeren ook als vlagwaarden voor het veld PresentationIntervals van D3DCAPS9.

Constante Description
D3DPRESENT_DONOTFLIP
Gebruik de voorbuffer als bron- en doeloppervlak tijdens de rendering. Een framesynchronisatie is gepland, maar het weergegeven oppervlak verandert niet. Deze vlag is alleen beschikbaar wanneer de toepassing zich in de modus Volledig scherm bevindt en D3DSWAPEFFECT_FLIPEX is opgegeven.
Deze vlag is alleen beschikbaar in Direct3D 9Ex.
D3DPRESENT_DONOTWAIT
Een presentatie kan niet worden gepland door een hal-apparaat. Als deze vlag is ingesteld in een aanroep naar Presenteren en de hardware bezig is met verwerken of wachten op een verticaal synchronisatie-interval, retourneert Present D3DERR_WASSTILLDRAWING om aan te geven dat de blit-bewerking onvolledig is.
D3DPRESENT_FLIPRESTART
Gereserveerd.
D3DPRESENT_FORCEIMMEDIATE
D3DPRESENT_INTERVAL_IMMEDIATE wordt afgedwongen voor deze oproep Presenteren . Deze vlag kan alleen worden opgegeven wanneer u D3DSWAPEFFECT_FLIPEX gebruikt. Het gedrag van de presentatie in vensters en volledig scherm is hetzelfde. Dit is vooral handig voor media-apps die frames willen verwijderen die zo laat zijn gedetecteerd en latere frames tijdens de samenstelling willen presenteren. Er wordt een ongeldige parameterfout geretourneerd als deze vlag onjuist is opgegeven. Wanneer meerdere opeenvolgende frames met D3DPRESENT_FORCEIMMEDIATEs in de wachtrij worden geplaatst, wordt alleen het laatste frame weergegeven voor zowel een venster als een volledige presentatie.
Deze vlag is beschikbaar in Direct3D 9Ex op Windows 7 of hoger besturingssystemen.
Wanneer u D3DSWAPEFFECT_FLIPEX gebruikt, overschrijft elk frame dat wordt weergegeven met D3DPRESENT_INTERVAL_IMMEDIATE of D3DPRESENT_INTERVAL_FORCEIMMEDIATE het huidige interval van het vorige frame. Als u bijvoorbeeld de volgende frames in de wachtrij plaatst met behulp van de volgende wisseleffecten: frame A (D3DPRESENT_INTERVAL_ONE), frame B(D3DPRESENT_INTERVAL_ONE), frame C(D3DPRESENT_INTERVAL_ONE), frame D(D3DPRESENT_INTERVAL_FORCEIMMEDIATE), overschrijft frame D het huidige interval van frame C. De weergegeven frames per huidige interval zijn frame A, frame B, (frame C overschreven door) frame D.
Zie opmerkingen.
D3DPRESENT_INTERVAL_DEFAULT
Dit is bijna gelijk aan D3DPRESENT_INTERVAL_ONE. Zie opmerkingen.
D3DPRESENT_INTERVAL_ONE
Het stuurprogramma wacht op de verticale retraceperiode (de runtime zal 'beam follow' volgen om te voorkomen dat er scheuren). Huidige bewerkingen worden niet vaker beïnvloed dan het vernieuwen van het scherm; de runtime wordt maximaal één bewerking presenteren per adaptervernieuwingsperiode voltooid. Dit komt overeen met het gebruik van D3DSWAPEFFECT_COPY_VSYNC in DirectX 8.1. Deze optie is altijd beschikbaar voor wisselketens in zowel vensters als volledig scherm. Zie opmerkingen.
D3DPRESENT_INTERVAL_TWO
Het stuurprogramma wacht op de verticale retraceperiode. Huidige bewerkingen worden niet vaker beïnvloed dan elke tweede schermvernieuwing. Controleer de cap PresentationIntervals (zie D3DCAPS9) om te zien of D3DPRESENT_INTERVAL_TWO wordt ondersteund door het stuurprogramma.
D3DPRESENT_INTERVAL_THREE
Het stuurprogramma wacht op de verticale retraceperiode. De huidige bewerkingen worden niet vaker beïnvloed dan elke vernieuwing van het derde scherm. Controleer de cap PresentationIntervals (zie D3DCAPS9) om te zien of D3DPRESENT_INTERVAL_THREE wordt ondersteund door het stuurprogramma.
D3DPRESENT_INTERVAL_FOUR
Het stuurprogramma wacht op de verticale retraceperiode. De huidige bewerkingen worden niet vaker beïnvloed dan elke vierde schermvernieuwing. Controleer het lid PresentationIntervals (zie D3DCAPS9) om te zien of D3DPRESENT_INTERVAL_FOUR wordt ondersteund door het stuurprogramma.
D3DPRESENT_INTERVAL_IMMEDIATE
De runtime werkt het vensterclientgebied onmiddellijk bij en kan dit meer dan één keer doen tijdens de vernieuwingsperiode van de adapter. Dit komt overeen met het gebruik van D3DSWAPEFFECT_COPY in DirectX 8. De huidige bewerkingen kunnen onmiddellijk worden beïnvloed. Deze optie is altijd beschikbaar voor wisselketens in zowel vensters als volledig scherm. Zie opmerkingen.
D3DPRESENT_LINEAR_CONTENT
De inhoud van de achterbuffer die moet worden weergegeven, bevindt zich in de lineaire kleurruimte.
  • De presentatie wordt impliciet geconverteerd van lineaire ruimte naar sRGB (gamma = 2,2). Dit is de enige conversie die wordt ondersteund.
  • Omdat deze vlag een eigenschap van de inhoud van de backbuffer vertegenwoordigt, kan de vlag worden opgegeven tijdens een present-aanroep. Met andere woorden, een toepassing kan lineaire inhoud in één frame presenteren en vervolgens overschakelen naar gecorrigeerde inhoud in het volgende.
  • Deze vlag wordt genegeerd wanneer de wisselketen volledig scherm is. (Houd er rekening mee dat deze vlag alleen beschikbaar is voor de expliciete swap chain-versie van Present. De methode Presenteren heeft geen parameter vlaggen.)
  • Deze vlag wordt altijd geaccepteerd, maar wordt alleen van kracht wanneer het stuurprogramma D3DCAPS3_LINEAR_TO_SRGB_PresentATION beschikbaar maakt >.
  • De enige ondersteunde backbufferindeling is X8R8G8B8.
Zie Gevensterde wisselketens.
D3DPRESENT_VIDEO_RESTRICT_TO_MONITOR
Clips van de gerenderde inhoud op de monitor/het apparaat waarop de adapter is gericht, toont miniaturen voor de inhoud in de Flip3D-weergave en taakbalkminiaturen op andere beeldschermen.
Deze vlag is alleen beschikbaar in Direct3D 9Ex.
Zie Desktop Window Manager voor meer informatie over deze functie van Windows Vista. Als u niet werkt in de bureaubladsamenstellingsmodus, geeft de vlag hetzelfde gedrag als D3DPRESENTFLAG_DEVICECLIP.
Notitie: Deze vlag mag alleen worden gebruikt met wisseleffect D3DSWAPEFFECT_FLIPEX. Het gebruik van deze vlag met andere wisselingseffecten wordt afgeschaft en werkt mogelijk niet in toekomstige versies van Windows.
D3DPRESENT_UPDATEOVERLAYONLY
Hiermee werkt u de overlaypositie of de kleursleutelgegevens bij zonder een werkelijke spiegeling te veroorzaken en zonder de duur te wijzigen waarmee de afbeelding wordt weergegeven.
Deze vlag is alleen beschikbaar in Direct3D 9Ex.
D3DPRESENT_HIDEOVERLAY
Hiermee schakelt u de overlayhardware uit.
Deze vlag is alleen beschikbaar in Direct3D 9Ex.
D3DPRESENT_UPDATECOLORKEY
Hiermee worden de kleursleutelgegevens opnieuw getekend.
Deze vlag is alleen beschikbaar in Direct3D 9Ex.

Opmerkingen

De venstermodus ondersteunt D3DPRESENT_INTERVAL_DEFAULT, D3DPRESENT_INTERVAL_IMMEDIATE en D3DPRESENT_INTERVAL_ONE. D3DPRESENT_INTERVAL_DEFAULT en de D3DPRESENT_INTERVAL_ONE bijna gelijkwaardig zijn (zie de onderstaande informatie over timerresolutie). Ze presteren op dezelfde manier als COPY_VSYNC omdat er slechts één aanwezig per frame is en ze voorkomen dat er balken worden gesloopd. Daarentegen probeert D3DPRESENT_INTERVAL_IMMEDIATE een onbeperkt presentatietarief te bieden.

De modus Volledig scherm ondersteunt vergelijkbaar gebruik als de modus vensters door ondersteuning te bieden voor D3DPRESENT_INTERVAL_IMMEDIATE, ongeacht de vernieuwingsfrequentie of het wisseleffect. D3DPRESENT_INTERVAL_DEFAULT gebruikt de standaardresolutie van de systeemtimer, terwijl de D3DPRESENT_INTERVAL_ONE timeBeginPeriod aanroept om de resolutie van de systeemtimer te verbeteren. Dit verbetert de kwaliteit van verticale synchronisatie, maar verbruikt iets meer verwerkingstijd. Beide parameters proberen verticaal te synchroniseren.

Requirements

Requirement Waarde
Header
D3d9.h

Zie ook

Direct3D-constanten