Bagikan melalui


Metode IDXGISwapChain3::ResizeBuffers1 (dxgi1_4.h)

Mengubah ukuran buffer belakang rantai swap, format, dan jumlah buffer, di mana rantai pertukaran dibuat menggunakan antrean perintah D3D12 sebagai perangkat input. Ini harus dipanggil ketika jendela aplikasi diubah ukurannya.

Sintaks

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

Jenis: UINT

Jumlah buffer dalam rantai pertukaran (termasuk semua buffer belakang dan depan). Jumlah ini bisa berbeda dari jumlah buffer yang Anda buat rantai pertukarannya. Jumlah ini tidak boleh lebih besar dari DXGI_MAX_SWAP_CHAIN_BUFFERS. Atur angka ini ke nol untuk mempertahankan jumlah buffer yang ada dalam rantai pertukaran. Anda tidak dapat menentukan kurang dari dua buffer untuk model presentasi balik.

[in] Width

Jenis: UINT

Lebar baru buffer belakang. Jika Anda menentukan nol, DXGI akan menggunakan lebar area klien jendela target. Anda tidak dapat menentukan lebar sebagai nol jika Anda memanggil metode IDXGIFactory2::CreateSwapChainForComposition untuk membuat rantai pertukaran untuk permukaan komposisi.

[in] Height

Jenis: UINT

Tinggi baru buffer belakang. Jika Anda menentukan nol, DXGI akan menggunakan tinggi area klien jendela target. Anda tidak dapat menentukan tinggi sebagai nol jika Anda memanggil metode IDXGIFactory2::CreateSwapChainForComposition untuk membuat rantai pertukaran untuk permukaan komposisi.

[in] Format

Jenis: DXGI_FORMAT

Nilai yang diketik DXGI_FORMAT untuk format baru buffer belakang. Atur nilai ini ke DXGI_FORMAT_UNKNOWN untuk mempertahankan format buffer belakang yang ada. Model presentasi balik mendukung serangkaian format yang lebih terbatas daripada model transfer blok bit (bitblt).

[in] SwapChainFlags

Jenis: UINT

Kombinasi nilai DXGI_SWAP_CHAIN_FLAG-ketik yang digabungkan dengan menggunakan operasi OR bitwise. Nilai yang dihasilkan menentukan opsi untuk perilaku rantai pertukaran.

[in] pCreationNodeMask

Jenis: const UINT*

Array UINT, dengan ukuran total BufferCount, di mana nilai menunjukkan simpul mana buffer belakang harus dibuat. Buffer yang dibuat menggunakan ResizeBuffers1 dengan array pCreationNodeMask non-null terlihat oleh semua simpul.

[in] ppPresentQueue

Jenis: IUnknown*

Array antrean perintah (instans ID3D12CommandQueue ), dari ukuran total BufferCount. Setiap antrean yang disediakan harus cocok dengan masker simpul pembuatan yang sesuai yang ditentukan dalam array pCreationNodeMask . Ketika Present() dipanggil, selain memutar ke buffer berikutnya untuk bingkai berikutnya, swapchain juga akan memutar melalui antrean perintah ini. Ini memungkinkan aplikasi untuk mengontrol antrean mana yang memerlukan sinkronisasi untuk operasi saat ini tertentu.

Menampilkan nilai

Jenis: HRESULT

Mengembalikan S_OK jika berhasil; kode kesalahan sebaliknya. Untuk daftar kode kesalahan, lihat DXGI_ERROR.

Keterangan

Metode ini hanya valid untuk memanggil ketika swapchain dibuat menggunakan antrean perintah D3D12 (ID3D12CommandQueue) sebagai perangkat input.

Ketika swapchain dibuat pada adaptor multi-GPU, backbuffer semuanya dibuat pada simpul 1 dan hanya satu antrean perintah yang didukung. ResizeBuffers1 memungkinkan aplikasi untuk membuat backbuffer pada node yang berbeda, memungkinkan antrean perintah yang berbeda untuk digunakan dengan setiap simpul. Kemampuan ini memungkinkan teknik Alternate Frame Rendering (AFR) digunakan dengan swapchain. Lihat Sistem multi-adaptor.

Lihat juga bagian Keterangan di IDXGISwapChain::ResizeBuffers, yang semuanya relevan dengan ResizeBuffers1.

Persyaratan

   
Target Platform Windows
Header dxgi1_4.h
Pustaka Dxgi.lib

Lihat juga

IDXGISwapChain3