Freigeben über


D3DPRESENT

Beschreibt die Beziehung zwischen der Aktualisierungsrate des Adapters und der Rate, mit der Die Vorgänge "Present" oder "Present" abgeschlossen werden. Diese Werte dienen auch als Flagwerte für das Feld PresentationIntervals von D3DCAPS9.

Dauerhaft BESCHREIBUNG
D3DPRESENT_DONOTFLIP
Verwenden Sie den Frontpuffer während des Renderings als Quell- und Zieloberfläche. Eine Framesynchronisierung ist geplant, aber die angezeigte Oberfläche ändert sich nicht. Dieses Flag ist nur verfügbar, wenn sich die Anwendung im Vollbildmodus befindet und D3DSWAPEFFECT_FLIPEX angegeben wurde.
Dieses Flag ist nur in Direct3D 9Ex verfügbar.
D3DPRESENT_DONOTWAIT
Eine Präsentation kann nicht von einem hal-Gerät geplant werden. Wenn dieses Flag in einem Aufruf von Present festgelegt ist und die Hardware mit der Verarbeitung beschäftigt ist oder auf ein vertikales Synchronisierungsintervall wartet, gibt Present D3DERR_WASSTILLDRAWING zurück, um anzugeben, dass der Spaltvorgang unvollständig ist.
D3DPRESENT_FLIPRESTART
Reserviert.
D3DPRESENT_FORCEIMMEDIATE
D3DPRESENT_INTERVAL_IMMEDIATE wird für diesen Present-Aufruf erzwungen. Dieses Flag kann nur angegeben werden, wenn D3DSWAPEFFECT_FLIPEX verwendet wird. Fenster- und Vollbildpräsentationsverhalten sind identisch. Dies ist besonders nützlich für Medien-Apps, die Frames verwerfen möchten, die als spät erkannt wurden und zur Kompositionszeit nachfolgende Frames darstellen möchten. Wenn dieses Flag nicht ordnungsgemäß angegeben ist, wird ein ungültiger Parameterfehler zurückgegeben. Wenn mehrere aufeinanderfolgende Frames mit D3DPRESENT_FORCEIMMEDIATEs in die Warteschlange eingereiht werden, wird nur der letzte Frame angezeigt, sowohl für die Fensterpräsentation als auch für die Vollbildpräsentation.
Dieses Flag ist in Direct3D 9Ex unter Windows 7 oder höheren Betriebssystemen verfügbar.
Bei Verwendung von D3DSWAPEFFECT_FLIPEX überschreibt jeder mit D3DPRESENT_INTERVAL_IMMEDIATE oder D3DPRESENT_INTERVAL_FORCEIMMEDIATE dargestellte Frame das aktuelle Intervall des vorherigen Frames. Wenn Sie beispielsweise die folgenden Frames mit den folgenden Auslagerungseffekten in die Warteschlange stellen: Frame A (D3DPRESENT_INTERVAL_ONE), Frame B(D3DPRESENT_INTERVAL_ONE), Frame C(D3DPRESENT_INTERVAL_ONE), Frame D(D3DPRESENT_INTERVAL_FORCEIMMEDIATE), überschreibt Frame D das aktuelle Intervall von Frame C. Die angezeigten Frames pro aktuellem Intervall sind Frame A, Frame B, (Frame C überschrieben von) Frame D.
Siehe Hinweise.
D3DPRESENT_INTERVAL_DEFAULT
Dies entspricht fast D3DPRESENT_INTERVAL_ONE. Siehe Bemerkungen.
D3DPRESENT_INTERVAL_ONE
Der Treiber wartet auf den vertikalen Rückverfolgungszeitraum (die Laufzeit wird "balken" folgen, um Einreißen zu verhindern). Vorhandene Vorgänge sind nicht häufiger betroffen als die Bildschirmaktualisierung. Die Runtime schließt höchstens einen Present-Vorgang pro Adapteraktualisierungszeitraum ab. Dies entspricht der Verwendung D3DSWAPEFFECT_COPYVSYNC in DirectX 8.1. Diese Option ist immer für Swapchains mit Fenstern und Vollbild verfügbar. Siehe Bemerkungen.
D3DPRESENT_INTERVAL_TWO
Der Treiber wartet auf den vertikalen Nachverfolgungszeitraum. Aktuelle Vorgänge sind nicht häufiger betroffen als jede zweite Bildschirmaktualisierung. Überprüfen Sie die PresentationIntervals-Obergrenze (siehe D3DCAPS9), um festzustellen, ob D3DPRESENT_INTERVAL_TWO vom Treiber unterstützt wird.
D3DPRESENT_INTERVAL_THREE
Der Treiber wartet auf den vertikalen Nachverfolgungszeitraum. Aktuelle Vorgänge sind nicht häufiger betroffen als jede dritte Bildschirmaktualisierung. Überprüfen Sie die PresentationIntervals-Obergrenze (siehe D3DCAPS9), um festzustellen, ob D3DPRESENT_INTERVAL_THREE vom Treiber unterstützt wird.
D3DPRESENT_INTERVAL_FOUR
Der Treiber wartet auf den vertikalen Nachverfolgungszeitraum. Aktuelle Vorgänge sind nicht häufiger betroffen als jede vierte Bildschirmaktualisierung. Überprüfen Sie das PresentationIntervals-Element (siehe D3DCAPS9), um festzustellen, ob D3DPRESENT_INTERVAL_FOUR vom Treiber unterstützt wird.
D3DPRESENT_INTERVAL_IMMEDIATE
Die Runtime aktualisiert den Fensterclientbereich sofort und kann dies während des Aktualisierungszeitraums des Adapters mehrmals tun. Dies entspricht der Verwendung D3DSWAPEFFECT_COPY in DirectX 8. Vorhandene Vorgänge können sofort beeinträchtigt werden. Diese Option ist immer für Swapchains mit Fenstern und Vollbild verfügbar. Siehe Bemerkungen.
D3DPRESENT_LINEAR_CONTENT
Der Inhalt des anzuzeigenden Backpuffers befindet sich im linearen Farbraum.
  • Die Präsentation konvertiert implizit vom linearen Raum in sRGB (Gamma = 2,2). Dies ist die einzige Konvertierung, die unterstützt wird.
  • Da dieses Flag eine Eigenschaft des Inhalts des Backpuffers darstellt, kann das Flag während eines Present-Aufrufs angegeben werden. Anders ausgedrückt: Eine Anwendung kann lineare Inhalte in einem Frame darstellen und dann im nächsten zu korrigierten Inhalten wechseln.
  • Dieses Flag wird ignoriert, wenn die Swapchain im Vollbildmodus ausgeführt wird. (Beachten Sie, dass dieses Flag nur für die explizite Swap chain-Version von Present verfügbar ist. Die Present-Methode nimmt keinen flags-Parameter an.)
  • Dieses Flag wird immer akzeptiert, wird aber nur wirksam, wenn der Treiber D3DCAPS3_LINEAR_TO_SRGB_PresentATION verfügbar macht >.
  • Das einzige unterstützte Backpufferformat ist X8R8G8B8.
Weitere Informationen finden Sie unter Swap chains mit Fenstern.
D3DPRESENT_VIDEO_RESTRICT_TO_MONITOR
Clipst die gerenderten Inhalte auf dem Monitor/Gerät, auf den der Adapter abzielt, und zeigt Miniaturansichten für den Inhalt in der Flip3D-Ansicht und Taskleistenminiaturansichten auf anderen Monitoren an.
Dieses Flag ist nur in Direct3D 9Ex verfügbar.
Weitere Informationen zu diesem Feature von Windows Vista finden Sie unter Desktopfenster-Manager . Wenn Sie nicht im Desktopkompositionsmodus ausgeführt werden, zeigt das Flag das gleiche Verhalten wie D3DPRESENTFLAG_DEVICECLIP.
Hinweis: Dieses Flag sollte nur mit D3DSWAPEFFECT_FLIPEX des Swapeffekts verwendet werden. Die Verwendung dieses Flags mit anderen Auslagerungseffekten ist veraltet und funktioniert in zukünftigen Versionen von Windows möglicherweise nicht mehr.
D3DPRESENT_UPDATEOVERLAYONLY
Updates die Überlagerungsposition oder die Colorkey-Daten, ohne dass es zu einem tatsächlichen Umdrehen kommt, und ohne die Dauer zu ändern, mit der das Bild angezeigt wird.
Dieses Flag ist nur in Direct3D 9Ex verfügbar.
D3DPRESENT_HIDEOVERLAY
Deaktiviert die Überlagerungshardware.
Dieses Flag ist nur in Direct3D 9Ex verfügbar.
D3DPRESENT_UPDATECOLORKEY
Zeichnet die Farbschlüsseldaten neu aus.
Dieses Flag ist nur in Direct3D 9Ex verfügbar.

Bemerkungen

Der Fenstermodus unterstützt D3DPRESENT_INTERVAL_DEFAULT, D3DPRESENT_INTERVAL_IMMEDIATE und D3DPRESENT_INTERVAL_ONE. D3DPRESENT_INTERVAL_DEFAULT und die D3DPRESENT_INTERVAL_ONE sind nahezu gleichwertig (siehe Informationen zur Timerauflösung unten). Sie funktionieren ähnlich wie COPY_VSYNC, da nur ein Bild vorhanden ist, und sie verhindern das Reißen mit Strahlfolge. Im Gegensatz dazu versuchen D3DPRESENT_INTERVAL_IMMEDIATE, eine unbegrenzte Präsentationsrate bereitzustellen.

Der Vollbildmodus unterstützt eine ähnliche Verwendung wie der Fenstermodus, indem er D3DPRESENT_INTERVAL_IMMEDIATE unabhängig von der Aktualisierungsrate oder dem Auslagerungseffekt unterstützt. D3DPRESENT_INTERVAL_DEFAULT verwendet die Standardauflösung des Systemtimers, während der D3DPRESENT_INTERVAL_ONE timeBeginPeriod aufruft, um die Systemtimerauflösung zu verbessern. Dies verbessert die Qualität der vertikalen Synchronisierung, verbraucht jedoch etwas mehr Verarbeitungszeit. Beide Parameter versuchen, vertikal zu synchronisieren.

Anforderungen

Anforderung Wert
Header
D3d9.h

Weitere Informationen

Direct3D-Konstanten