Partager via


DisplayDevice.CreateSimpleScanoutWithDirtyRectsAndOptions Méthode

Définition

Crée un objet DisplayScanout qui fournit une encapsulation immuable des paramètres requis pour la présentation d’un frame à un 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

Paramètres

source
DisplaySource

DisplaySource pour présenter le contenu.

surface
DisplaySurface

Surface primaire.

subresourceIndex
UInt32

unsigned int

uint32_t

Lié au concept de sous-ressources de Direct3D. À l’aide de cet index, vous pouvez spécifier la sous-ressource dans displaySurface qui doit être utilisée pour l’analyse, dans le cas où il existe plusieurs sous-ressources.

La seule façon d’avoir un DisplaySurface qui a plusieurs sous-ressources consiste à créer displaySurface avec l’indicateur isStereo (voir CreateWithProperties) ou à ouvrir un ID3D11Texture2D à l’aide d’API dans IDisplayDeviceInterop.

La valeur la plus courante pour subresourceindex est 0, ce qui indique qu’aucune sous-ressource n’est nécessaire ou disponible.

syncInterval
UInt32

unsigned int

uint32_t

Entier qui spécifie comment synchroniser la présentation d’un cadre avec le vide vertical de l’affichage.

SyncInterval == 0. La présentation se produit sur le vide vertical suivant de l’affichage. S’il existe d’autres cadeaux dans la file d’attente avec la valeur = 0, ces cadeaux sont ignorés. SyncInterval == 0, avec DisplayScanoutOptions::AllowTearing. La présentation se produit immédiatement ; il n’existe aucune synchronisation avec l’image précédente. Cela peut entraîner des déchirures visibles. SyncInterval == 1 à 4. Synchroniser la présentation pour au moins n espaces verticaux de l’affichage.

dirtyRects

IIterable<RectInt32>

IEnumerable<RectInt32>

Rectangles sales qui fournissent un indicateur au pilote graphique indiquant quelles régions du principal changent. Cela peut être utilisé par le pilote pour réduire la quantité de bande passante sur le transport d’affichage sous-jacent. Vous devez donc passer des rectangles valides qui englobent entièrement tous les pixels modifiés dans un cadre.

Il s’agit d’une optimisation, et si votre client DirectDisplay ne suit pas sale rectangles, vous pouvez passer null pour dirtyRects, et le système d’exploitation considérera cela comme un sale plein cadre (ce qui signifie que tous les pixels dans la mémoire tampon principale sont modifiés). Si vous transmettez une liste vide pour dirtyRects , cela signifie qu’aucun pixel n’a été modifié dans la mémoire tampon principale et que le pilote graphique peut choisir d’optimiser l’analyse de cette mémoire tampon principale.

options
DisplayScanoutOptions

Indicateurs qui peuvent spécifier différentes options pour le DisplayScanout en cours de création. DisplayScanoutOptions.AllowTearing est valide uniquement si syncInterval a la valeur 0.

Retours

Valeur DisplayScanout .

Configuration requise pour Windows

Famille d’appareils
Windows 11 (introduit dans 10.0.22000.0)
API contract
Windows.Foundation.UniversalApiContract (introduit dans v14.0)

S’applique à