Compartilhar via


DisplayDevice.CreateSimpleScanoutWithDirtyRectsAndOptions Método

Definição

Cria um objeto DisplayScanout que fornece um encapsulamento imutável de parâmetros necessários para apresentar um quadro a um 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

Parâmetros

source
DisplaySource

Um DisplaySource para o qual apresentar o conteúdo.

surface
DisplaySurface

Uma superfície primária.

subresourceIndex
UInt32

unsigned int

uint32_t

Relacionado ao conceito de sub-recursos do Direct3D. Usando esse índice, você pode especificar qual sub-recurso dentro do DisplaySurface deve ser usado para verificação, caso haja vários sub-recursos.

A única maneira de ter um DisplaySurface que tenha vários sub-recursos é criar o DisplaySurface com o sinalizador isStereo (consulte CreateWithProperties) ou abrir um ID3D11Texture2D usando APIs em IDisplayDeviceInterop.

O valor mais comum para subresourceindex será 0, o que indica que nenhum sub-recurso é necessário ou está disponível.

syncInterval
UInt32

unsigned int

uint32_t

Um inteiro que especifica como sincronizar a apresentação de um quadro com o espaço em branco vertical da tela.

SyncInterval == 0. A apresentação ocorre no próximo espaço em branco vertical da exibição. Se houver outros presentes na fila com valor = 0, esses presentes serão descartados. SyncInterval == 0, com DisplayScanoutOptions::AllowTearing. A apresentação ocorre imediatamente; não há sincronização com o quadro anterior. Isso pode causar uma ruptura visível. SyncInterval == 1 a 4. Sincronize a apresentação para pelo menos n espaços em branco verticais da exibição.

dirtyRects

IIterable<RectInt32>

IEnumerable<RectInt32>

Retângulos sujos que fornecem uma dica para o driver gráfico indicando quais regiões do primário estão sendo alteradas. Isso pode ser usado pelo driver para reduzir a quantidade de largura de banda no transporte de exibição subjacente, portanto, você deve passar retângulos válidos que abrangem totalmente todos os pixels alterados em um quadro.

Essa é uma otimização e, se o cliente directDisplay não rastrear sujo retângulos, você poderá passar null para dirtyRects e o sistema operacional considerará isso como um sujo de quadro completo (o que significa que todos os pixels no buffer primário são modificados). Se você passar uma lista vazia para dirtyRects , isso significa que nenhum pixel foi alterado no buffer primário, e o driver gráfico pode optar por otimizar a verificação desse buffer primário.

options
DisplayScanoutOptions

Sinalizadores que podem especificar várias opções para o DisplayScanout que está sendo criado. DisplayScanoutOptions.AllowTearing só será válido se syncInterval for 0.

Retornos

Um valor DisplayScanout .

Requisitos do Windows

Família de dispositivos
Windows 11 (introduzida na 10.0.22000.0)
API contract
Windows.Foundation.UniversalApiContract (introduzida na v14.0)

Aplica-se a