Bagikan melalui


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.
Untuk model balik (DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL), nilainya adalah:
  • 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.
Untuk contoh yang memperlihatkan bagaimana nilai interval sinkronisasi memengaruhi antrean presentasi balik, lihat Keterangan.

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

Lihat juga

IDXGISwapChain1

Hadir