Freigeben über


D3DPRESENT

Beschreibt die Beziehung zwischen der Adapteraktualisierungsrate und der Rate, mit der die Vorgänge "Präsentieren " oder " Präsentieren " abgeschlossen werden. Diese Werte dienen auch als Flagwerte für das PresentationIntervals-Feld von D3DCAPS9.

Dauerhaft Description
D3DPRESENT_DONOTFLIP
Verwenden Sie den Frontpuffer sowohl als Quell- als auch als Zieloberfläche während des Renderings. Eine Framesynchronisierung wird geplant, aber die angezeigte Oberfläche ändert sich nicht. Dieses Kennzeichen 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 Blit-Vorgang unvollständig ist.
D3DPRESENT_FLIPRESTART
Reserviert
D3DPRESENT_FORCEIMMEDIATE
D3DPRESENT_INTERVAL_IMMEDIATE wird für diesen Present-Aufruf erzwungen. Dieses Kennzeichen kann nur bei Verwendung von D3DSWAPEFFECT_FLIPEX angegeben werden. Fenster- und Vollbildpräsentationsverhalten sind identisch. Dies ist besonders nützlich für Medien-Apps, die Frames verwerfen möchten, die zur Kompositionszeit als spät erkannt wurden und nachfolgende Frames darstellen. Ein ungültiger Parameterfehler wird zurückgegeben, wenn dieses Flag nicht ordnungsgemäß angegeben ist. Wenn mehrere aufeinander folgende Frames mit D3DPRESENT_FORCEIMMEDIATEs in die Warteschlange gestellt werden, wird nur der letzte Frame für die Fenster- und Vollbildpräsentation angezeigt.
Dieses Kennzeichen ist in Direct3D 9Ex unter Windows 7 oder höher verfügbar.
Bei Verwendung von D3DSWAPEFFECT_FLIPEX überschreibt jeder Frame, der mit D3DPRESENT_INTERVAL_IMMEDIATE oder D3DPRESENT_INTERVAL_FORCEIMMEDIATE dargestellt wird, das aktuelle Intervall des vorherigen Frames. Wenn Sie beispielsweise die folgenden Frames mithilfe der folgenden Swap effects in die Warteschlange stellen: Frame A (D3DPRESENT_INTERVAL_ONE), Frame B(D3DPRESENT_INTERVAL_ONE), Frame C(D3DPRESENT_INTERVAL_ONE), Frame D(D3DPRESENT_INTERVAL_FORCEIMMEDIATE), frame D überschreibt das aktuelle Intervall von Frame C. Die angezeigten Frames pro present-Intervall sind Frame A, Frame B, (Frame C überschrieben durch) Frame D.
Weitere Informationen finden Sie in der "Anmerkungen".
D3DPRESENT_INTERVAL_DEFAULT
Dies entspricht fast D3DPRESENT_INTERVAL_ONE. Siehe Hinweise.
D3DPRESENT_INTERVAL_ONE
Der Treiber wartet auf den vertikalen Retrace-Zeitraum (die Laufzeit wird "Strahl folgen", um das Zerreißen zu verhindern). Aktuelle Vorgänge sind nicht häufiger betroffen als die Bildschirmaktualisierung. die Laufzeit wird höchstens einen Present-Vorgang pro Aktualisierungszeitraum des Adapters abgeschlossen. Dies entspricht der Verwendung von D3DSWAPEFFECT_COPY_VSYNC in DirectX 8.1. Diese Option ist immer für Fenster- und Vollbild-Swapchains verfügbar. Siehe Hinweise.
D3DPRESENT_INTERVAL_TWO
Der Treiber wartet auf den vertikalen Retrace-Zeitraum. Die aktuellen Vorgänge sind nicht häufiger betroffen als jede zweite Bildschirmaktualisierung. Überprüfen Sie die Caps PresentationIntervals (siehe D3DCAPS9), um festzustellen, ob D3DPRESENT_INTERVAL_TWO vom Treiber unterstützt wird.
D3DPRESENT_INTERVAL_THREE
Der Treiber wartet auf den vertikalen Retrace-Zeitraum. Aktuelle Vorgänge sind nicht häufiger betroffen als jede dritte Bildschirmaktualisierung. Überprüfen Sie die Caps PresentationIntervals (siehe D3DCAPS9), um festzustellen, ob D3DPRESENT_INTERVAL_THREE vom Treiber unterstützt wird.
D3DPRESENT_INTERVAL_FOUR
Der Treiber wartet auf den vertikalen Retrace-Zeitraum. Aktuelle Vorgänge sind nicht häufiger betroffen als jede vierte Bildschirmaktualisierung. Überprüfen Sie das PresentationIntervals-Mitglied (siehe D3DCAPS9), um festzustellen, ob D3DPRESENT_INTERVAL_FOUR vom Treiber unterstützt wird.
D3DPRESENT_INTERVAL_IMMEDIATE
Die Laufzeit aktualisiert den Fensterclientbereich sofort und kann dies während des Aktualisierungszeitraums des Adapters mehrmals tun. Dies entspricht der Verwendung von D3DSWAPEFFECT_COPY in DirectX 8. Vorhandene Vorgänge können sofort betroffen sein. Diese Option ist immer für Fenster- und Vollbild-Swapchains verfügbar. Siehe Hinweise.
D3DPRESENT_LINEAR_CONTENT
Der Inhalt des anzuzeigenden Hintergrundpuffers befindet sich im linearen Farbraum.
  • Die Präsentation wird implizit von linearen Leerzeichen in sRGB (Gamma = 2,2) konvertiert. Dies ist die einzige Konvertierung, die unterstützt wird.
  • Da dieses Flag eine Eigenschaft des Inhalts des Hintergrundpuffers darstellt, kann das Flag während eines Present-Aufrufs angegeben werden. Mit anderen Worten, eine Anwendung kann linearen Inhalt in einem Frame darstellen und dann zu korrigierten Inhalten im nächsten wechseln.
  • Dieses Kennzeichen wird ignoriert, wenn die Swapchain vollbildig ist. (Beachten Sie, dass dieses Kennzeichen nur für die explizite Swapchainversion von Present verfügbar ist. Die Present-Methode verwendet keinen Flags-Parameter.)
  • Dieses Kennzeichen wird immer akzeptiert, wird jedoch nur wirksam, wenn der Treiber D3DCAPS3_LINEAR_TO_SRGB_PresentATION verfügbar macht >.
  • Das einzige unterstützte Hintergrundpufferformat wird X8R8G8B8.
Siehe Fenster-Swapchains.
D3DPRESENT_VIDEO_RESTRICT_TO_MONITOR
Clips the render contents to the monitor/device the adapter is targeting, shows thumbnails for the content in the Flip3D view and taskbar thumbnails on other monitor.
Dieses Flag ist nur in Direct3D 9Ex verfügbar.
Weitere Details zu diesem Feature von Windows Vista finden Sie unter Desktop Window Manager . Wenn Sie nicht im Desktopkompositionsmodus ausgeführt werden, gibt das Flag das gleiche Verhalten wie D3DPRESENTFLAG_DEVICECLIP.
Anmerkung: Dieses Kennzeichen sollte nur mit Swap effect D3DSWAPEFFECT_FLIPEX verwendet werden. Die Verwendung dieses Kennzeichens mit anderen Swapeffekten ist veraltet und funktioniert möglicherweise nicht in zukünftigen Versionen von Windows.
D3DPRESENT_UPDATEOVERLAYONLY
Aktualisiert die Überlagerungsposition oder die Colorkey-Daten, ohne einen tatsächlichen Flip zu verursachen 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
Neurast die Colorkey-Daten.
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 Zeitgeberauflösung unten). Sie funktionieren ähnlich wie COPY_VSYNC darin, dass pro Frame nur ein Einziger vorhanden ist, und sie verhindern das Abreißen mit Strahlfolge. Im Gegensatz dazu versucht D3DPRESENT_INTERVAL_IMMEDIATE, eine unbegrenzte Präsentationsrate bereitzustellen.

Der Vollbildmodus unterstützt eine ähnliche Verwendung wie der Fenstermodus, indem D3DPRESENT_INTERVAL_IMMEDIATE unterstützt wird, unabhängig von der Aktualisierungsrate oder dem Swapeffekt. D3DPRESENT_INTERVAL_DEFAULT verwendet die Standardmäßige Systemzeitgeberauflösung, während die D3DPRESENT_INTERVAL_ONE timeBeginPeriod aufruft, um die Systemzeitgeberauflösung zu verbessern. Dies verbessert die Qualität der vertikalen Synchronisierung, verbraucht aber etwas mehr Verarbeitungszeit. Beide Parameter versuchen, vertikal zu synchronisieren.

Anforderungen

Anforderung Wert
Header
D3d9.h

Siehe auch

Direct3D-Konstanten