DisplayDevice.CreateSimpleScanoutWithDirtyRectsAndOptions メソッド

定義

フレームを DisplaySource に 提示するために必要なパラメーターの変更できないカプセル化を提供する DisplayScanout オブジェクトを 作成します

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

パラメーター

source
DisplaySource

コンテンツを表示する DisplaySource

surface
DisplaySurface

プライマリ サーフェス。

subresourceIndex
UInt32

unsigned int

uint32_t

Direct3D の サブリソースの概念に関連します。 このインデックスを使用すると、複数のサブリソースがある場合にスキャンアウトに DisplaySurface 内のどのサブリソースを使用するかを指定できます。

複数のサブリソースを持つ DisplaySurface を作成する唯一の方法は、isStereo フラグを使用して DisplaySurface を作成するか (CreateWithProperties を参照)、または IDisplayDeviceInterop の API を使用して ID3D11Texture2D を開く方法です。

subresourceindex の最も一般的な値は 0 です。これは、サブリソースが不要または使用可能であることを示します。

syncInterval
UInt32

unsigned int

uint32_t

フレームのプレゼンテーションをディスプレイの垂直ブランクと同期する方法を指定する整数。

SyncInterval == 0。 プレゼンテーションは、ディスプレイの次の垂直空白で行われます。 キューに値 = 0 の他のプレゼントがある場合、それらのプレゼントは破棄されます。 SyncInterval == 0( DisplayScanoutOptions::AllowTearing)。 プレゼンテーションはすぐに行われます。前のフレームとの同期はありません。 これは目に見える引き裂きを引き起こす可能性があります。 SyncInterval == 1 から 4。 ディスプレイの少なくとも n 個の垂直ブランクのプレゼンテーションを同期します。

dirtyRects

IIterable<RectInt32>

IEnumerable<RectInt32>

プライマリのどの領域が変更されているかを示すヒントをグラフィックス ドライバーに提供するダーティ四角形。 これは、基になるディスプレイ トランスポートの帯域幅の量を減らすためにドライバーによって使用される可能性があるため、フレーム内のすべての変更されたピクセルを完全に含む有効な四角形を渡す必要があります。

これは最適化であり、DirectDisplay クライアントが四角形ダーティ追跡しない場合は、dirtyRects を渡nullすことができます。オペレーティング システムでは、それをフルフレーム ダーティと見なします (つまり、プライマリ バッファー内のすべてのピクセルが変更されます)。 dirtyRects の空のリストを渡した場合、プライマリ バッファーでピクセルが変更されていないことを意味し、グラフィックス ドライバーはこのプライマリ バッファーのスキャンアウトを最適化することを選択できます。

options
DisplayScanoutOptions

作成する DisplayScanout のさまざまなオプションを指定できるフラグ。 DisplayScanoutOptions.AllowTearing は、 syncInterval が 0 の場合にのみ有効です。

戻り値

DisplayScanout 値。

Windows の要件

デバイス ファミリ
Windows 11 (10.0.22000.0 で導入)
API contract
Windows.Foundation.UniversalApiContract (v14.0 で導入)

適用対象