IDXGISwapChain3::ResizeBuffers1-Methode (dxgi1_4.h)

Ändert die Backpuffergröße, das Format und die Anzahl der Puffer der Swapchain, bei denen die Swapchain mithilfe einer D3D12-Befehlswarteschlange als Eingabegerät erstellt wurde. Dies sollte aufgerufen werden, wenn die Größe des Anwendungsfensters geändert wird.

Syntax

HRESULT ResizeBuffers1(
  [in] UINT        BufferCount,
  [in] UINT        Width,
  [in] UINT        Height,
  [in] DXGI_FORMAT Format,
  [in] UINT        SwapChainFlags,
  [in] const UINT  *pCreationNodeMask,
  [in] IUnknown    * const *ppPresentQueue
);

Parameter

[in] BufferCount

Typ: UINT

Die Anzahl der Puffer in der Swap chain (einschließlich aller Back- und Frontpuffer). Diese Zahl kann sich von der Anzahl der Puffer unterscheiden, mit denen Sie die Swapchain erstellt haben. Diese Zahl darf nicht größer als DXGI_MAX_SWAP_CHAIN_BUFFERS sein. Legen Sie diese Zahl auf 0 fest, um die vorhandene Anzahl von Puffern in der Swapchain beizubehalten. Sie können nicht weniger als zwei Puffer für das Flip-Präsentationsmodell angeben.

[in] Width

Typ: UINT

Die neue Breite des Backpuffers. Wenn Sie null angeben, verwendet DXGI die Breite des Clientbereichs des Zielfensters. Sie können die Breite nicht als Null angeben, wenn Sie die IDXGIFactory2::CreateSwapChainForComposition-Methode aufgerufen haben, um die Swapchain-Kette für eine Kompositionsoberfläche zu erstellen.

[in] Height

Typ: UINT

Die neue Höhe des Backpuffers. Wenn Sie null angeben, verwendet DXGI die Höhe des Clientbereichs des Zielfensters. Sie können die Höhe nicht als 0 angeben, wenn Sie die IDXGIFactory2::CreateSwapChainForComposition-Methode aufgerufen haben , um die Swapchain-Kette für eine Kompositionsoberfläche zu erstellen.

[in] Format

Typ: DXGI_FORMAT

Ein DXGI_FORMAT typisierter Wert für das neue Format des Backpuffers. Legen Sie diesen Wert auf DXGI_FORMAT_UNKNOWN fest, um das vorhandene Format des Backpuffers beizubehalten. Das Flip-Präsentationsmodell unterstützt einen eingeschränkteren Satz von Formaten als das Bitblockübertragungsmodell (Bitblt).

[in] SwapChainFlags

Typ: UINT

Eine Kombination aus DXGI_SWAP_CHAIN_FLAG typisierten Werten, die mithilfe eines bitweisen OR-Vorgangs kombiniert werden. Der resultierende Wert gibt Optionen für das Swapchainverhalten an.

[in] pCreationNodeMask

Typ: const UINT*

Ein Array von UINTs mit der Gesamtgröße BufferCount, bei dem der Wert angibt, auf welchem Knoten der Backpuffer erstellt werden soll. Puffer, die mit ResizeBuffers1 mit einem pCreationNodeMask-Array erstellt wurden, sind für alle Knoten sichtbar.

[in] ppPresentQueue

Typ: IUnknown*

Ein Array von Befehlswarteschlangen (ID3D12CommandQueue-Instanzen ) der Gesamtgröße BufferCount. Jede bereitgestellte Warteschlange muss mit der entsprechenden Erstellungsknotenmaske übereinstimmen, die im pCreationNodeMask-Array angegeben ist. Wenn Present() aufgerufen wird, dreht sich die Swapchain zusätzlich zum nächsten Puffer für den nächsten Frame auch durch diese Befehlswarteschlangen. Dadurch kann die App steuern, welche Warteschlange eine Synchronisierung für einen bestimmten vorgang erfordert.

Rückgabewert

Typ: HRESULT

Gibt bei erfolgreicher Ausführung S_OK zurück. Andernfalls ein Fehlercode. Eine Liste der Fehlercodes finden Sie unter DXGI_ERROR.

Hinweise

Diese Methode ist nur gültig, wenn die Swapchain mithilfe einer D3D12-Befehlswarteschlange (ID3D12CommandQueue) als Eingabegerät erstellt wurde.

Wenn eine Swapchain auf einem Multi-GPU-Adapter erstellt wird, werden die Backbuffer alle auf Knoten 1 erstellt, und nur eine einzelne Befehlswarteschlange wird unterstützt. Mit ResizeBuffers1 können Anwendungen Backbuffer auf verschiedenen Knoten erstellen, sodass für jeden Knoten eine andere Befehlswarteschlange verwendet werden kann. Mit diesen Funktionen können AFR-Techniken (Alternate Frame Rendering) mit der Swapchain verwendet werden. Weitere Informationen finden Sie unter Systeme mit mehreren Adaptern.

Lesen Sie auch den Abschnitt Hinweise in IDXGISwapChain::ResizeBuffers, die alle für ResizeBuffers1 relevant sind.

Anforderungen

   
Zielplattform Windows
Kopfzeile dxgi1_4.h
Bibliothek Dxgi.lib

Weitere Informationen

IDXGISwapChain3