Freigeben über


DXGI_PRESENT

Die DXGI_PRESENT Konstanten geben Optionen für die Darstellung von Frames für die Ausgabe an.

Konstante/Wert BESCHREIBUNG
0
Zeigen Sie einen Frame aus jedem Puffer (beginnend mit dem aktuellen Puffer) für die Ausgabe an.
DXGI_PRESENT_DO_NOT_SEQUENCE
0x000000002UL
Zeigen Sie einen Frame aus dem aktuellen Puffer für die Ausgabe an. Verwenden Sie dieses Flag, damit die Präsentation die vertikale leere Synchronisierung verwenden kann, anstatt Puffer in der Kette in der üblichen Weise zu sequenzieren.
Hinweis: Wenn die aufrufende Anwendung die DXGI_PRESENT_DO_NOT_SEQUENCE Konstante für den ersten vorhandenen Vorgang festlegt (d. h. wenn kein aktueller Puffer vorhanden ist), ignoriert die Runtime diesen aktuellen Vorgang und ruft den Treiber nicht auf.
DXGI_PRESENT_TEST
0x000000001UL
Zeigen Sie den Frame nicht der Ausgabe an. Die status der Swap chain wird getestet und entsprechende Fehler zurückgegeben. DXGI_PRESENT_TEST ist nur für den Wechsel aus dem Leerlaufzustand vorgesehen; Verwenden Sie sie nicht, um zu bestimmen, wann sie in den Leerlaufmodus wechseln soll, da die Swapchain dadurch den Vollbildmodus nicht beenden kann.
DXGI_PRESENT_RESTART
0x00000004UL
Gibt an, dass die Runtime ausstehende Geschenke in der Warteschlange verwirft.
DXGI_PRESENT_DO_NOT_WAIT
0x000000008UL
Gibt an, dass die Runtime bei der Präsentation fehlschlägt (d. a. ein Aufruf von IDXGISwapChain1::P resent1) mit dem DXGI_ERROR_WAS_STILL_DRAWING Fehlercode, wenn der aufrufende Thread blockiert ist; Die Runtime gibt DXGI_ERROR_WAS_STILL_DRAWING zurück, anstatt zu schlafen, bis die Abhängigkeit aufgelöst wird.
Direct3D 11: Dieser Enumerationswert wird ab Windows 8 unterstützt.
DXGI_PRESENT_RESTRICT_TO_OUTPUT
0x00000010UL
Gibt an, dass Der Präsentationsinhalt nur für die jeweilige Ausgabe angezeigt wird. Der Inhalt ist in anderen Ausgaben nicht sichtbar. Wenn der Benutzer beispielsweise versucht, Videoinhalte auf einer anderen Ausgabe zu verschieben, sind die Videoinhalte nicht sichtbar.
Direct3D 11: Dieser Enumerationswert wird ab Windows 8 unterstützt.
Hinweis: Dieses Flag sollte nur mit auslagerungseffekten DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL oder DXGI_SWAP_EFFECT_FLIP_DISCARD verwendet werden. Die Verwendung dieses Flags mit anderen Auslagerungseffekten ist veraltet und funktioniert in zukünftigen Versionen von Windows möglicherweise nicht mehr.
DXGI_PRESENT_STEREO_PREFER_RIGHT
0x000000020UL
Gibt an, dass, wenn die vorhandene Stereoanlage auf Mono reduziert werden muss, die Rechtsansicht anstelle der Linken verwendet wird.
Direct3D 11: Dieser Enumerationswert wird ab Windows 8 unterstützt.
DXGI_PRESENT_STEREO_TEMPORARY_MONO
0x000000040UL
Gibt an, dass die Präsentation den linken Puffer als Monopuffer verwenden soll. Eine Anwendung ruft die IDXGISwapChain1::IsTemporaryMonoSupported-Methode auf, um zu bestimmen, ob eine Swap chain "temporäres Mono" unterstützt.
Direct3D 11: Dieser Enumerationswert wird ab Windows 8 unterstützt.
DXGI_PRESENT_USE_DURATION
0x00000100UL
Dieses Flag muss von Medien-Apps festgelegt werden, die derzeit eine benutzerdefinierte Aktuelle Dauer (benutzerdefinierte Aktualisierungsrate) verwenden. Siehe IDXGISwapChainMedia.
Hinweis: Dieser Wert wird ab Windows 8.1 unterstützt.
DXGI_PRESENT_ALLOW_TEARING
0x00000200UL
Das Zulassen des Tearings ist eine Anforderung von Anzeigen mit variabler Aktualisierungsrate.
Die Bedingungen für die Verwendung DXGI_PRESENT_ALLOW_TEARING während der Gegenwart sind wie folgt:
  • Die Swapchain muss mit dem flag DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING erstellt werden.
  • Das an Present (oder Present1) übergebene Synchronisierungsintervall muss 0 sein.
  • Das DXGI_PRESENT_ALLOW_TEARING-Flag kann nicht in einer Anwendung verwendet werden, die sich derzeit im exklusiven Vollbildmodus befindet (festgelegt durch Aufrufen von SetFullscreenState(TRUE)). Sie kann nur im Fenstermodus verwendet werden. Um dieses Flag in Win32-Apps im Vollbildmodus zu verwenden, sollte die Anwendung ein randloses Vollbildfenster darstellen und die automatische ALT+ENTER-Vollbildumschaltung mithilfe von IDXGIFactory::MakeWindowAssociation deaktivieren. UWP-Apps, die durch Aufrufen Windows::UI::ViewManagement::ApplicationView::TryEnterFullscreen() in den Vollbildmodus wechseln, sind rahmenlose Vollbildfenster und können das Flag verwenden.
Wenn Sie Present (oder Present1) mit diesem Flag aufrufen und die oben genannten Bedingungen nicht erfüllen, wird ein DXGI_ERROR_INVALID_CALL Fehler an die aufrufende Anwendung zurückgegeben.

Bemerkungen

Präsentationsoptionen werden während des Aufrufs IDXGISwapChain::P resent oder IDXGISwapChain1::P resent1 bereitgestellt. Die Puffer werden in der Beschreibung der Swap chain angegeben (siehe DXGI_SWAP_CHAIN_DESC oder DXGI_SWAP_CHAIN_DESC1).

DXGI_PRESENT_RESTART ist nur für Flip-Model-Swapchains und Vollbildmodus gültig. Anwendungen können DXGI_PRESENT_RESTART zum Wiederherstellen von Störungen bei der Wiedergabe und zum Verwerfen zuvor in die Warteschlange gestellter Präsentationen verwenden. Das Verwerfen zuvor in die Warteschlange eingereihter Präsentationen ist nützlich, wenn es sich bei diesen Präsentationen um Szenarien mit Fenstern handelt. Insbesondere hat die zuvor in die Warteschlange eingereihte Präsentation möglicherweise angenommen, dass das Fenster eine alte Größe hat (d. a. ein Vorgang zur Größenänderung nach der Übermittlung).

DXGI_PRESENT_RESTRICT_TO_OUTPUT ist nur für Swap chains gültig, die eine bestimmte Ausgabe angegeben haben, auf die inhalte beim Erstellen dieser Swapchains beschränkt werden sollen (IDXGIFactory2::CreateSwapChainForHwnd). Wenn keine Ausgabe zum Einschränken vorhanden ist, ist das Flag ungültig.

DXGI_PRESENT_STEREO_PREFER_RIGHT gibt an, dass, wenn das vorhandene Stereo auf Mono reduziert werden muss, das rechte Auge anstelle des linken (Standard)-Auges verwendet werden sollte. Sie können dieses Flag verwenden, wenn eine Seite eine höhere Qualität aufweist (z. B. wenn das Stereopaar aus einem Standardbild synthetisiert wird).)

DXGI_PRESENT_STEREO_TEMPORARY_MONO gibt an, dass der vorhandene den linken Puffer als Monopuffer verwenden soll. Sie können dieses Flag verwenden, um zu vermeiden, dass der richtige Puffer aktualisiert wird, wenn eine Anwendung vorübergehend keinen Stereoinhalt aufweist. Sie sollten dieses Flag wann immer möglich verwenden, da es eine erhebliche Optimierung durch das Betriebssystem ermöglicht und unter bestimmten Umständen sichtbare Moduswechselartefakte vermeiden kann.

Sie sollten das DXGI_PRESENT_STEREO_TEMPORARY_MONO-Flag verwenden, um für die meisten Anwendungen, die voraussichtlich wieder Stereo verwenden, zu einer Mono-Swapkette zu wechseln. Sie müssen die Verwendung dieses Flags in Anwendungen, die extrem lang laufen oder selten Stereo anzeigen, gegen den Nachteil nicht genutzten Arbeitsspeichers ausgleichen.

Hinweis

Vollbildanwendungen, die zu einer Mono-Swapchain wechseln, führen zu einem Moduswechsel, der im Allgemeinen sichtbare Artefakte aufweist (z. B. "Blinken"). Temporäre Mono werden jedoch möglicherweise nicht für Vollbild-Swapchains unterstützt.

 

Die flags DXGI_PRESENT_STEREO_PREFER_RIGHT und DXGI_PRESENT_STEREO_TEMPORARY_MONO gelten nur für Stereo-Swapketten. Wenn Sie sie verwenden, wenn Sie Mono-Swapchains präsentieren, tritt ein ungültiger Vorgang auf.

Wenn Sie das DXGI_PRESENT_STEREO_TEMPORARY_MONO-Flag verwenden, wenn Sie eine Stereo-Swapkette präsentieren, die temporäres Mono nicht unterstützt, tritt ein Fehler auf, die Swapchain wird nicht angezeigt, und die Präsentation gibt DXGI_ERROR_INVALID_CALL zurück.

Anforderungen

Anforderung Wert
Header
DXGI.h

Weitere Informationen

DXGI-Konstanten