Bagikan melalui


DisplayDevice.CreateSimpleScanoutWithDirtyRectsAndOptions Metode

Definisi

Membuat objek DisplayScanout yang menyediakan enkapsulasi parameter yang tidak dapat diubah yang diperlukan untuk menyajikan bingkai ke DisplaySource.

public:
 virtual DisplayScanout ^ CreateSimpleScanoutWithDirtyRectsAndOptions(DisplaySource ^ source, DisplaySurface ^ surface, unsigned int subresourceIndex, unsigned int syncInterval, IIterable<RectInt32> ^ dirtyRects, DisplayScanoutOptions options) = CreateSimpleScanoutWithDirtyRectsAndOptions;
DisplayScanout CreateSimpleScanoutWithDirtyRectsAndOptions(DisplaySource const& source, DisplaySurface const& surface, uint32_t const& subresourceIndex, uint32_t const& syncInterval, IIterable<RectInt32> const& dirtyRects, DisplayScanoutOptions const& options);
public DisplayScanout CreateSimpleScanoutWithDirtyRectsAndOptions(DisplaySource source, DisplaySurface surface, uint subresourceIndex, uint syncInterval, IEnumerable<RectInt32> dirtyRects, DisplayScanoutOptions options);
function createSimpleScanoutWithDirtyRectsAndOptions(source, surface, subresourceIndex, syncInterval, dirtyRects, options)
Public Function CreateSimpleScanoutWithDirtyRectsAndOptions (source As DisplaySource, surface As DisplaySurface, subresourceIndex As UInteger, syncInterval As UInteger, dirtyRects As IEnumerable(Of RectInt32), options As DisplayScanoutOptions) As DisplayScanout

Parameter

source
DisplaySource

DisplaySource untuk menyajikan konten.

surface
DisplaySurface

Permukaan utama.

subresourceIndex
UInt32

unsigned int

uint32_t

Terkait dengan konsep subsumber daya Direct3D. Dengan menggunakan indeks ini, Anda dapat menentukan subsumber daya mana dalam DisplaySurface yang harus digunakan untuk pemindaian, jika ada beberapa subsumber daya.

Satu-satunya cara untuk memiliki DisplaySurface yang memiliki beberapa subsumber daya adalah dengan membuat DisplaySurface dengan bendera isStereo (lihat CreateWithProperties), atau untuk membuka ID3D11Texture2D menggunakan API di IDisplayDeviceInterop.

Nilai yang paling umum untuk subresourceindex adalah 0, yang menunjukkan bahwa tidak ada subsumber daya yang diperlukan atau tersedia.

syncInterval
UInt32

unsigned int

uint32_t

Bilangan bulat yang menentukan cara menyinkronkan presentasi bingkai dengan kosong vertikal tampilan.

SyncInterval == 0. Presentasi terjadi pada kosong vertikal berikutnya dari tampilan. Jika ada presentasi lain dalam antrean dengan nilai = 0, maka hadiah tersebut akan dibuang. SyncInterval == 0, dengan DisplayScanoutOptions::AllowTearing. Presentasi segera terjadi; tidak ada sinkronisasi dengan bingkai sebelumnya. Ini dapat menyebabkan air mata yang terlihat. SyncInterval == 1 sampai 4. Sinkronkan presentasi untuk setidaknya n kosong vertikal tampilan.

dirtyRects

IIterable<RectInt32>

IEnumerable<RectInt32>

Persegi panjang kotor yang memberikan petunjuk kepada driver grafis yang menunjukkan wilayah utama mana yang berubah. Ini mungkin digunakan oleh driver untuk mengurangi jumlah bandwidth pada transportasi tampilan yang mendasar, jadi Anda harus melewati persegi panjang yang valid yang sepenuhnya mencakup semua piksel yang diubah dalam bingkai.

Ini adalah pengoptimalan, dan jika klien DirectDisplay Anda tidak melacak persegi panjang kotor, maka Anda dapat meneruskan nulldirtyRects, dan sistem operasi akan menganggap bahwa sebagai bingkai penuh kotor (artinya semua piksel dalam buffer utama dimodifikasi). Jika Anda meneruskan daftar kosong untuk dirtyRects maka itu berarti bahwa tidak ada piksel yang telah diubah di buffer utama, dan driver grafis mungkin memilih untuk mengoptimalkan pemindaian buffer utama ini.

options
DisplayScanoutOptions

Bendera yang dapat menentukan berbagai opsi untuk DisplayScanout yang sedang dibuat. DisplayScanoutOptions.AllowTearing hanya valid jika syncInterval adalah 0.

Mengembalikan

Nilai DisplayScanout .

Persyaratan Windows

Rangkaian perangkat
Windows 11 (diperkenalkan dalam 10.0.22000.0)
API contract
Windows.Foundation.UniversalApiContract (diperkenalkan dalam v14.0)

Berlaku untuk