Bagikan melalui


DXGI_PRESENT

Konstanta DXGI_PRESENT menentukan opsi untuk menyajikan bingkai ke output.

Konstanta/nilai Deskripsi
0
Sajikan bingkai dari setiap buffer (dimulai dengan buffer saat ini) ke output.
DXGI_PRESENT_DO_NOT_SEQUENCE
0x000000002UL
Sajikan bingkai dari buffer saat ini ke output. Gunakan bendera ini sehingga presentasi dapat menggunakan sinkronisasi kosong vertikal alih-alih mengurutkan buffer dalam rantai secara biasa.
Catatan: Jika aplikasi panggilan mengatur konstanta DXGI_PRESENT_DO_NOT_SEQUENCE pada operasi pertama saat ini (yaitu, ketika tidak ada buffer saat ini), runtime mengabaikan operasi yang ada dan tidak memanggil driver.
DXGI_PRESENT_TEST
0x00000001UL
Jangan sajikan bingkai ke output. Status rantai pertukaran akan diuji dan kesalahan yang sesuai dikembalikan. DXGI_PRESENT_TEST dimaksudkan untuk digunakan hanya saat beralih dari status menganggur; jangan gunakan untuk menentukan kapan harus beralih ke status menganggur karena melakukannya dapat membuat rantai pertukaran tidak dapat keluar dari mode layar penuh.
DXGI_PRESENT_RESTART
0x00000004UL
Menentukan bahwa runtime akan membuang hadiah antrean yang luar biasa.
DXGI_PRESENT_DO_NOT_WAIT
0x00000008UL
Menentukan bahwa runtime akan gagal presentasi (yaitu, gagal panggilan ke IDXGISwapChain1::P resent1) dengan kode kesalahan DXGI_ERROR_WAS_STILL_DRAWING jika utas panggilan diblokir; runtime mengembalikan DXGI_ERROR_WAS_STILL_DRAWING alih-alih tidur sampai dependensi diselesaikan.
Direct3D 11: Nilai enumerasi ini didukung dimulai dengan Windows 8.
DXGI_PRESENT_RESTRICT_TO_OUTPUT
0x00000010UL
Menunjukkan bahwa konten presentasi hanya akan ditampilkan pada output tertentu. Konten tidak akan terlihat pada output lain. Misalnya, jika pengguna mencoba merelokasi konten video pada output lain, konten video tidak akan terlihat.
Direct3D 11: Nilai enumerasi ini didukung dimulai dengan Windows 8.
Catatan: Bendera ini hanya boleh digunakan dengan efek pertukaran DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL atau DXGI_SWAP_EFFECT_FLIP_DISCARD. Penggunaan bendera ini dengan efek pertukaran lainnya tidak digunakan lagi, dan mungkin tidak berfungsi di versi Windows yang akan datang.
DXGI_PRESENT_STEREO_PREFER_RIGHT
0x000000020UL
Menunjukkan bahwa jika stereo yang ada harus dikurangi menjadi mono, tampilan mata kanan digunakan daripada melihat mata kiri.
Direct3D 11: Nilai enumerasi ini didukung dimulai dengan Windows 8.
DXGI_PRESENT_STEREO_TEMPORARY_MONO
0x00000040UL
Menunjukkan bahwa presentasi harus menggunakan buffer kiri sebagai buffer mono. Aplikasi memanggil metode IDXGISwapChain1::IsTemporaryMonoSupported untuk menentukan apakah rantai pertukaran mendukung "mono sementara".
Direct3D 11: Nilai enumerasi ini didukung dimulai dengan Windows 8.
DXGI_PRESENT_USE_DURATION
0x00000100UL
Bendera ini harus diatur oleh aplikasi media yang saat ini menggunakan durasi ada kustom (laju refresh kustom). Lihat IDXGISwapChainMedia.
Catatan: Nilai ini didukung mulai dari Windows 8.1.
DXGI_PRESENT_ALLOW_TEARING
0x00000200UL
Memungkinkan merobek adalah persyaratan tampilan laju refresh variabel.
Kondisi untuk menggunakan DXGI_PRESENT_ALLOW_TEARING selama Ada adalah sebagai berikut:
  • Rantai pertukaran harus dibuat dengan bendera DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING .
  • Interval sinkronisasi yang diteruskan ke Present (atau Present1) harus 0.
  • Bendera DXGI_PRESENT_ALLOW_TEARING tidak dapat digunakan dalam aplikasi yang saat ini dalam mode eksklusif layar penuh (diatur dengan memanggil SetFullscreenState(TRUE)). Ini hanya dapat digunakan dalam mode berjendela. Untuk menggunakan bendera ini di aplikasi Win32 layar penuh, aplikasi harus hadir ke jendela tanpa batas layar penuh dan menonaktifkan pengalihan layar penuh ALT+ENTER otomatis menggunakan IDXGIFactory::MakeWindowAssociation. Aplikasi UWP yang memasuki mode layar penuh dengan memanggil Windows::UI::ViewManagement::ApplicationView::TryEnterFullscreen() adalah jendela tanpa batas layar penuh dan dapat menggunakan bendera .
Memanggil Present (atau Present1) dengan bendera ini dan tidak memenuhi kondisi di atas akan mengakibatkan kesalahan DXGI_ERROR_INVALID_CALL dikembalikan ke aplikasi panggilan.

Keterangan

Opsi presentasi disediakan selama panggilan IDXGISwapChain::P resent atau IDXGISwapChain1::P resent1 . Buffer ditentukan dalam deskripsi rantai swap (lihat DXGI_SWAP_CHAIN_DESC atau DXGI_SWAP_CHAIN_DESC1).

DXGI_PRESENT_RESTART hanya berlaku untuk rantai pertukaran model balik dan layar penuh. Aplikasi dapat menggunakan DXGI_PRESENT_RESTART untuk memulihkan dari gangguan dalam pemutaran, serta untuk membuang presentasi yang diantrekan sebelumnya. Membuang presentasi yang sebelumnya diantrekan berguna jika presentasi yang diantrekan tersebut adalah skenario berjendela. Secara khusus, presentasi yang sebelumnya diantrekan mungkin telah mengasumsikan bahwa jendela adalah ukuran lama (yaitu, operasi pengubahan ukuran terjadi setelah pengiriman).

DXGI_PRESENT_RESTRICT_TO_OUTPUT hanya berlaku untuk rantai pertukaran yang menentukan output tertentu untuk membatasi konten saat rantai pertukaran tersebut dibuat (IDXGIFactory2::CreateSwapChainForHwnd). Jika tidak ada output untuk dibatasi, bendera tidak valid.

DXGI_PRESENT_STEREO_PREFER_RIGHT menunjukkan bahwa jika stereo yang ada harus dikurangi menjadi mono mata kanan harus digunakan daripada mata kiri (default). Anda dapat menggunakan bendera ini jika satu sisi memiliki kualitas yang lebih tinggi (misalnya, jika pasangan stereo disintesis dari gambar standar.)

DXGI_PRESENT_STEREO_TEMPORARY_MONO menunjukkan bahwa saat ini harus menggunakan buffer kiri sebagai buffer mono. Anda dapat menggunakan bendera ini untuk menghindari pembaruan buffer yang tepat ketika aplikasi untuk sementara tidak memiliki konten stereo. Anda harus menggunakan bendera ini jika memungkinkan karena memungkinkan pengoptimalan yang signifikan oleh sistem operasi dan dalam beberapa keadaan, bendera tersebut dapat menghindari artefak perubahan mode yang terlihat.

Anda harus menggunakan bendera DXGI_PRESENT_STEREO_TEMPORARY_MONO sebagai preferensi untuk beralih ke rantai pertukaran mono untuk sebagian besar aplikasi yang Anda antisipasi akan menggunakan stereo lagi. Anda perlu menyeimbangkan penggunaan bendera ini dalam aplikasi yang berjalan sangat lama atau yang jarang menampilkan stereo terhadap kerugian memori yang tidak digunakan.

Catatan

Aplikasi layar penuh yang beralih ke rantai pertukaran mono menyebabkan perubahan mode yang umumnya memiliki artefak yang terlihat (misalnya, "berkedip"). Namun, mono sementara mungkin tidak didukung untuk rantai pertukaran layar penuh.

 

Bendera DXGI_PRESENT_STEREO_PREFER_RIGHT dan DXGI_PRESENT_STEREO_TEMPORARY_MONO hanya berlaku untuk rantai pertukaran stereo. Jika Anda menggunakannya saat anda menyajikan rantai pertukaran mono, operasi yang tidak valid akan terjadi.

Jika Anda menggunakan bendera DXGI_PRESENT_STEREO_TEMPORARY_MONO saat Anda menyajikan rantai pertukaran stereo yang tidak mendukung mono sementara, kesalahan terjadi, rantai pertukaran tidak ditampilkan, dan presentasi kembali DXGI_ERROR_INVALID_CALL.

Persyaratan

Persyaratan Nilai
Header
DXGI.h

Lihat juga

Konstanta DXGI