METODE IDXGISwapChain1::P resent1 (dxgi1_2.h)
Menyajikan bingkai pada layar tampilan.
Sintaks
HRESULT Present1(
UINT SyncInterval,
UINT PresentFlags,
[in] const DXGI_PRESENT_PARAMETERS *pPresentParameters
);
Parameter
SyncInterval
Bilangan bulat yang menentukan cara menyinkronkan presentasi bingkai dengan kosong vertikal.
Untuk model transfer blok bit (bitblt) (DXGI_SWAP_EFFECT_DISCARD atau DXGI_SWAP_EFFECT_SEQUENTIAL), nilainya adalah:
- 0 - Presentasi segera terjadi, tidak ada sinkronisasi.
- 1 sampai 4 - Sinkronkan presentasi setelah kosong vertikal ke-n.
- 0 - Batalkan sisa waktu pada bingkai yang disajikan sebelumnya dan buang bingkai ini jika bingkai yang lebih baru diantrekan.
- 1 sampai 4 - Sinkronkan presentasi untuk setidaknya n kosong vertikal.
Jika wilayah pembaruan menyimpan lebih dari satu output (masing-masing diwakili oleh IDXGIOutput1), Present1 melakukan sinkronisasi ke output yang berisi sub-persegi terbesar dari area klien jendela target.
PresentFlags
Nilai bilangan bulat yang berisi opsi presentasi rantai pertukaran. Opsi ini ditentukan oleh konstanta DXGI_PRESENT .
[in] pPresentParameters
Penunjuk ke struktur DXGI_PRESENT_PARAMETERS yang menjelaskan persegi panjang yang diperbarui dan menggulir informasi bingkai untuk disajikan.
Mengembalikan nilai
Kemungkinan nilai pengembalian meliputi: S_OK, DXGI_ERROR_DEVICE_REMOVED , DXGI_STATUS_OCCLUDED, DXGI_ERROR_INVALID_CALL, atau E_OUTOFMEMORY.
Keterangan
Aplikasi dapat menggunakan Present1 untuk mengoptimalkan presentasi dengan menentukan gulir dan persegi panjang kotor. Ketika runtime memiliki informasi tentang persegi panjang ini, runtime kemudian dapat melakukan bitblt yang diperlukan selama presentasi dengan lebih efisien dan meneruskan metadata ini ke Desktop Window Manager (DWM). DWM kemudian dapat menggunakan metadata untuk mengoptimalkan presentasi dan meneruskan metadata ke tampilan tidak langsung dan server terminal untuk mengoptimalkan lalu lintas melalui kawat. Aplikasi harus membatasi modifikasinya hanya ke wilayah kotor yang diteruskannya ke Present1, serta memodifikasi seluruh wilayah kotor untuk menghindari konten sumber daya yang tidak terdefinisi agar tidak terekspos.
Untuk membalik rantai pertukaran model presentasi yang Anda buat dengan kumpulan nilai DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL , presentasi yang berhasil menghasilkan unbind buffer belakang 0 dari alur grafis, kecuali saat Anda meneruskan bendera DXGI_PRESENT_DO_NOT_SEQUENCE di parameter Bendera .
Untuk informasi tentang bagaimana nilai data berubah saat Anda menyajikan konten ke layar, lihat Mengonversi data untuk ruang warna.
Untuk informasi tentang memanggil Present1 saat aplikasi Anda menggunakan beberapa utas, lihat Pertimbangan Multithread dan Multithreading dan DXGI.
Balik antrean model presentasi
Misalkan bingkai berikut dengan nilai interval sinkronisasi diantrekan dari yang terlama (A) ke terbaru (E) sebelum Anda memanggil Present1.A: 3, B: 0, C: 0, D: 1, E: 0
Saat Anda memanggil Present1, runtime memperlihatkan bingkai A hanya untuk 1 interval kosong vertikal. Runtime menghentikan bingkai A lebih awal karena interval sinkronisasi 0 di bingkai B. Kemudian runtime memperlihatkan bingkai D untuk 1 interval kosong vertikal, lalu bingkai E hingga Anda mengirimkan presentasi baru. Runtime membuang bingkai B dan C.
Laju refresh variabel ditampilkan
Ini adalah persyaratan laju refresh variabel yang menampilkan bahwa merobek diaktifkan. Metode CheckFeatureSupport dapat digunakan untuk menentukan apakah fitur ini tersedia, dan untuk mengatur bendera yang diperlukan, lihat deskripsi DXGI_PRESENT_ALLOW_TEARING dan DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING, dan bagian Kecepatan refresh variabel ditampilkan/Vsync off dari Peningkatan DXGI 1.5.Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 8 dan Pembaruan Platform untuk Windows 7 [aplikasi desktop | Aplikasi UWP] |
Server minimum yang didukung | Windows Server 2012 dan Pembaruan Platform untuk Windows Server 2008 R2 [aplikasi desktop | Aplikasi UWP] |
Target Platform | Windows |
Header | dxgi1_2.h |
Pustaka | Dxgi.lib |