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 |