Freigeben über


DisplayDevice.CreateSimpleScanoutWithDirtyRectsAndOptions Methode

Definition

Erstellt ein DisplayScanout-Objekt , das eine unveränderliche Kapselung von Parametern bereitstellt, die für die Darstellung eines Frames für eine DisplaySource erforderlich sind.

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

Eine DisplaySource , der Inhalte präsentiert werden sollen.

surface
DisplaySurface

Eine primäre Oberfläche.

subresourceIndex
UInt32

unsigned int

uint32_t

Im Zusammenhang mit dem Direct3D-Konzept der Unterressourcen. Mit diesem Index können Sie angeben, welche Unterressource innerhalb der DisplaySurface für das Scannen verwendet werden soll, falls mehrere Unterressourcen vorhanden sind.

Die einzige Möglichkeit, eine DisplaySurface mit mehreren Unterressourcen zu haben, besteht darin, entweder die DisplaySurface mit dem isStereo-Flag zu erstellen (siehe CreateWithProperties), oder eine ID3D11Texture2D mithilfe von APIs in IDisplayDeviceInterop zu öffnen.

Der gebräuchlichste Wert für subresourceindex ist 0, was angibt, dass keine Unterressource benötigt oder verfügbar ist.

syncInterval
UInt32

unsigned int

uint32_t

Eine ganze Zahl, die angibt, wie die Darstellung eines Frames mit dem vertikalen Leerzeichen der Anzeige synchronisiert wird.

SyncInterval == 0. Die Präsentation erfolgt im nächsten vertikalen Leerzeichen von der Anzeige. Wenn in der Warteschlange andere Geschenke mit dem Wert = 0 vorhanden sind, werden diese Verworfen. SyncInterval == 0, mit DisplayScanoutOptions::AllowTearing. Die Präsentation erfolgt sofort; es erfolgt keine Synchronisierung mit dem vorherigen Frame. Dies kann zu sichtbarem Tearing führen. SyncInterval == 1 bis 4. Synchronisieren Sie die Präsentation für mindestens n vertikale Leerzeichen der Anzeige.

dirtyRects

IIterable<RectInt32>

IEnumerable<RectInt32>

Schmutzige Rechtecke, die dem Grafiktreiber einen Hinweis geben, der angibt, welche Bereiche des primären Elements sich ändern. Dies kann vom Treiber verwendet werden, um die Bandbreite für den zugrunde liegenden Anzeigetransport zu reduzieren, sodass Sie gültige Rechtecke übergeben müssen, die alle geänderten Pixel in einem Frame vollständig umfassen.

Dies ist eine Optimierung, und wenn Ihr DirectDisplay-Client modifiziert Rechtecke nicht nachverfolgt, können Sie dirtyRects übergebennull, und das Betriebssystem betrachtet dies als Vollbild-modifiziert (d. h., dass alle Pixel im primären Puffer geändert werden). Wenn Sie eine leere Liste für dirtyRects übergeben, bedeutet dies, dass im primären Puffer keine Pixel geändert wurden, und der Grafiktreiber die Überprüfung dieses primären Puffers möglicherweise optimiert.

options
DisplayScanoutOptions

Flags, die verschiedene Optionen für das zu erstellende DisplayScanout angeben können. DisplayScanoutOptions.AllowTearing ist nur gültig, wenn syncInterval den Wert 0 aufweist.

Gibt zurück

Ein DisplayScanout-Wert .

Windows-Anforderungen

Gerätefamilie
Windows 11 (eingeführt in 10.0.22000.0)
API contract
Windows.Foundation.UniversalApiContract (eingeführt in v14.0)

Gilt für: