合成交换链术语表

Term 含义
可用(演示缓冲区) 一个安全的缓冲区,应用程序可以在不破坏任何先前演示的情况下演示。 要使缓冲区可用,缓冲区必须没有以前引用尚未进入已停用或已停用状态的缓冲区。 如果应用程序未更新图面,则演示可能会隐式引用以前存在的缓冲区,如缓冲区、曲面和演示图中的示例所示。
组合(演示模式) 一种表示形式,其中应用程序提供的缓冲区被复制到 DWM 演示并发送到显示硬件的后缓冲区中。 与直接扫描或翻转相比,这种形式的演示对系统的要求较低,但效率也较低。
合成图面句柄 一个 HANDLE,可将可视化树视觉对象与给定的交换链或演示图面绑定。
直接翻转 一种表示形式,其中应用程序的缓冲区表示直接发送到不支持多平面覆盖的系统上的显示硬件。
直接扫描 一种表示形式,其中应用程序演示的缓冲区不会重新演示到 DWM 发送到屏幕的缓冲区中,而是直接发送到 GPU 扫描硬件。 这可能涉及 DWM 将缓冲区分配给多平面覆盖平面,也可能是通过直接翻转将缓冲区直接发送到扫描硬件的模式。 在直接扫描显示模式中,DWM可能会参与对硬件进行编程以显示演示,或者当系统处于 iflip 模式时,它可能会被完全绕过。
前台缓冲区演示 为当前由系统显示的缓冲区发布的绘图工作。 根据缓冲区的显示方式,这可能会导致损坏或应用程序挂起,因为 Direct3D 可防止向扫描硬件显示的缓冲区发出演示工作。
硬件翻转队列 一些 GPU 硬件支持的一种操作系统 (OS) 功能,允许 GPU 在不涉及 CPU 的情况下独立显示演示,从而降低功耗,但可能会延迟 CPU 状态更新,如缓冲区可用事件、演示失效围栏和演示统计信息。
独立翻转 (iflip) 一种更有效的直接扫描演示方法,其中演示直接发送到 GPU 扫描硬件,完全绕过 DWM。 这种形式的演示具有更高的系统要求,但允许降低延迟和系统节能。
多平面覆盖 (MPO) 一种能够显示多个平面的显示硬件。 来自演示管理器的演示可以作为 MPO 配置中平面的一部分显示,以避免需要将演示缓冲区复制到 DWM 发送给显示硬件的后缓冲中。
Present 演示的单个实例。 用于将绘图操作的结果显示给屏幕上的单个缓冲区的一种演示。
演示标识符 (ID) 递增标识符,在给定的演示管理器中是唯一的,与每个演示相关联,以允许演示统计信息和演示围栏等事物引用它。
演示队列 演示管理器已发布但尚未由系统处理的演示队列。 发出的所有演示都按队列顺序进行处理,即使其目标时间未增加。 也就是说,在演示 n 可以被处理之前,还必须处理演示 n-1;因此,如果后续演示的目标时间早于特定演示,则它们将立即重写该特定演示。
(演示)目标时间 应在屏幕上显示特定演示的时间。 系统将尽可能接近这个时间显示演示。
演示统计信息 返回给应用程序的信息,描述特定演示的处理方式。 统计信息在演示管理器中排队,供应用程序回读。
演示图面 可以绑定到可视化树中的可视化的内容占位符。 演示表面一次可以具有单个显示的缓冲区。 演示管理器演示将更新一个或多个演示表面的缓冲区。
呈现 在屏幕上显示绘图操作结果的概念。
演示缓冲区 已与演示管理器关联的 Direct3D 纹理,因此可由该演示管理器演示为屏幕。
可视化树 描述应用程序布局的视觉效果树。 合成交换链 API 问题演示给可视化树中的一个或多个视觉对象。 有关详细信息,请参阅 Windows.UI.CompositionDirectComposition API 文档。
VSync 中断 当 GPU 显示演示时,它会发出 VSync 中断来唤醒 CPU,以通知该 CPU 演示已发生。 这允许 CPU 更新状态,例如缓冲区可用事件、演示失效围栏和演示统计信息。 如果 GPU 支持硬件翻转队列,则应用程序可以显式控制哪些演示应强制 VSync 中断并立即更新状态,哪些呈现不应该,从而以延迟反馈为代价提高电源效率。