DisplayTask.SetSignal(DisplayTaskSignalKind, DisplayFence) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
创建围栏作为演示管道的一部分,图形计划程序将在指定时间点发出信号。 可以多次 SetSignal ,为当前当前缓冲区的一部分的主缓冲区的多个事件提供围栏。
发出信号的围栏值是从 DisplayTaskResult.PresentId 属性中的 DisplayTaskPool.TryExecuteTask 返回的值, (每个 Present) 很可能增加 1。
public:
virtual void SetSignal(DisplayTaskSignalKind signalKind, DisplayFence ^ fence) = SetSignal;
void SetSignal(DisplayTaskSignalKind const& signalKind, DisplayFence const& fence);
public void SetSignal(DisplayTaskSignalKind signalKind, DisplayFence fence);
function setSignal(signalKind, fence)
Public Sub SetSignal (signalKind As DisplayTaskSignalKind, fence As DisplayFence)
参数
- signalKind
- DisplayTaskSignalKind
一个 DisplayTaskSignalKind 值,用于指定要使用的围栏类型。
OnPresentFlipAway。 一旦它连接到的主缓冲区不再被 GPU 扫描出,就会发出信号。 FlipAway 围栏的最常见用途是让应用在给定的主缓冲区上将 GPU 呈现工作排入队列,并将呈现工作置于 FlipAway 围栏后面,以确保主缓冲区可以自由呈现,并且 GPU 不会主动扫描掉。 这有助于避免任何 FBR (前端缓冲区呈现) ,同时仍然允许应用提前将多个渲染工作排队。
OnPresentFlipTo。 一旦它附加到的主缓冲区成为 GPU 正在扫描的当前主缓冲区,就会发出此围栏的信号。 FlipTo 围栏的最常见用途是让应用获取有关演示管道的统计信息。 例如,你的应用可以使用此隔离来计算当前提交与呈现到达物理显示之间的延迟。 另一个示例是,你的应用知道应用请求的哪个演示实际上使它出现在物理显示器上。
- fence
- DisplayFence
DisplayFence 对象。
Windows 要求
设备系列 |
Windows 11 (在 10.0.22000.0 中引入)
|
API contract |
Windows.Foundation.UniversalApiContract (在 v14.0 中引入)
|
注解
在给定的主缓冲区集的呈现与呈现之间同步可避免前缓冲区呈现。