DisplayDevice.CreateSimpleScanoutWithDirtyRectsAndOptions 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
创建一个 DisplayScanout 对象,该对象提供向 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
参数
- 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
向图形驱动程序提供指示主要区域正在更改的提示的脏矩形。 驱动程序可能使用此方法来减少基础显示传输的带宽量,因此必须传递包含帧中所有已更改像素的有效矩形。
这是一种优化,如果 DirectDisplay 客户端未跟踪脏矩形,则可以传递 null
dirtyRect,操作系统会将其视为全帧脏 (这意味着主缓冲区中的所有像素都) 修改。 如果为 dirtyRect 传递空列表,则表示主缓冲区中没有更改任何像素,并且图形驱动程序可能会选择优化此主缓冲区的扫描输出。
- options
- DisplayScanoutOptions
可以为正在创建的 DisplayScanout 指定各种选项的标志。 DisplayScanoutOptions.AllowTearing 仅当 syncInterval 为 0 时有效。
返回
Windows 要求
设备系列 |
Windows 11 (在 10.0.22000.0 中引入)
|
API contract |
Windows.Foundation.UniversalApiContract (在 v14.0 中引入)
|