IDXGISwapChain1::P resent1-Methode (dxgi1_2.h)

Zeigt einen Rahmen auf dem Bildschirm an.

Syntax

HRESULT Present1(
       UINT                          SyncInterval,
       UINT                          PresentFlags,
  [in] const DXGI_PRESENT_PARAMETERS *pPresentParameters
);

Parameter

SyncInterval

Eine ganze Zahl, die angibt, wie die Darstellung eines Frames mit dem vertikalen Leerzeichen synchronisiert wird.

Für das Bitblockübertragungsmodell (bitblt) (DXGI_SWAP_EFFECT_DISCARD oder DXGI_SWAP_EFFECT_SEQUENTIAL) sind die Folgenden Werte:

  • 0 : Die Präsentation erfolgt sofort, es gibt keine Synchronisierung.
  • 1 bis 4: Synchronisieren Sie die Präsentation nach dem n. vertikalenLeerzeichen.
Für das Flip-Modell (DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL) gelten folgende Werte:
  • 0: Brechen Sie die verbleibende Zeit für den zuvor dargestellten Frame ab, und verwerfen Sie diesen Frame, wenn ein neuerer Frame in die Warteschlange eingereiht wird.
  • 1 bis 4: Synchronisieren Sie die Präsentation für mindestens n vertikale Leerzeichen.
Ein Beispiel, das zeigt, wie sich Synchronisierungsintervallwerte auf eine Flip-Präsentationswarteschlange auswirken, finden Sie unter Hinweise.

Wenn der Updatebereich mehr als eine Ausgabe umfasst (jeweils durch IDXGIOutput1 dargestellt), führt Present1 die Synchronisierung mit der Ausgabe durch, die das größte Unterrecht des Clientbereichs des Zielfensters enthält.

PresentFlags

Ein ganzzahliger Wert, der Swap-Chain-Präsentationsoptionen enthält. Diese Optionen werden durch die DXGI_PRESENT Konstanten definiert.

[in] pPresentParameters

Ein Zeiger auf eine DXGI_PRESENT_PARAMETERS Struktur, die aktualisierte Rechtecke und Bildlaufinformationen des zu präsentierenden Frames beschreibt.

Rückgabewert

Mögliche Rückgabewerte sind: S_OK, DXGI_ERROR_DEVICE_REMOVED , DXGI_STATUS_OCCLUDED, DXGI_ERROR_INVALID_CALL oder E_OUTOFMEMORY.

Hinweise

Eine App kann Present1 verwenden, um die Präsentation zu optimieren, indem Sie Bildlauf und modifiziert Rechtecke angeben. Wenn die Runtime Über Informationen zu diesen Rechtecke verfügt, kann die Runtime die erforderlichen Bitblts während der Präsentation effizienter ausführen und diese Metadaten an den Desktopfenster-Manager (DWM) übergeben. Der DWM kann dann die Metadaten verwenden, um die Präsentation zu optimieren und die Metadaten an indirekte Displays und Terminalserver zu übergeben, um den Datenverkehr über die Verbindung zu optimieren. Eine App muss ihre Änderungen nur auf die modifiziert Regionen beschränken, die sie an Present1 übergibt, sowie die gesamte modifiziert Region ändern, um zu vermeiden, dass nicht definierte Ressourceninhalte verfügbar gemacht werden.

Bei Wechselketten des Flip-Präsentationsmodells, die Sie mit dem DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL Wertsatz erstellen, führt eine erfolgreiche Präsentation zu einer Aufhebung des Backpuffers 0 aus der Grafikpipeline, außer wenn Sie das DXGI_PRESENT_DO_NOT_SEQUENCE-Flag im Flags-Parameter übergeben.

Informationen dazu, wie sich Datenwerte ändern, wenn Sie Inhalte auf dem Bildschirm präsentieren, finden Sie unter Konvertieren von Daten für den Farbraum.

Informationen zum Aufrufen von Present1 , wenn Ihre App mehrere Threads verwendet, finden Sie unter Überlegungen zu Multithread und Multithreading und DXGI.

Warteschlange des Präsentationsmodells spiegeln

Angenommen, die folgenden Frames mit Synchronisierungsintervallwerten werden von ältestem (A) bis neuestem (E) in die Warteschlange gestellt, bevor Sie Present1 aufrufen.

A: 3, B: 0, C: 0, D: 1, E: 0

Wenn Sie Present1 aufrufen, zeigt die Laufzeit Frame A für nur ein vertikales leeres Intervall an. Die Runtime beendet Frame A aufgrund des Synchronisierungsintervalls 0 in Frame B frühzeitig. Dann zeigt die Runtime Frame D für ein vertikales leeres Intervall und dann Frame E an, bis Sie eine neue Präsentation übermitteln. Die Runtime verwirft die Frames B und C.

Anzeige der variablen Aktualisierungsrate

Es ist eine Anforderung der variablen Aktualisierungsrate, die anzeigt, dass das Tearing aktiviert ist. Die CheckFeatureSupport-Methode kann verwendet werden, um zu ermitteln, ob dieses Feature verfügbar ist, und um die erforderlichen Flags festzulegen, lesen Sie die Beschreibungen von DXGI_PRESENT_ALLOW_TEARING und DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING, und den Abschnitt Variable Aktualisierungsrate wird angezeigt/Vsync off von DXGI 1.5 Verbesserungen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 8 und Plattformupdate für Windows 7 [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2012 und Plattformupdate für Windows Server 2008 R2 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile dxgi1_2.h
Bibliothek Dxgi.lib

Weitere Informationen

IDXGISwapChain1

Gegenwart