为了驱动视觉更新,应用程序应使用 IDirectManipulationCompositor。 此对象负责更新基于 Direct Manipulation 更新、推动惯性更新向前以及向 Direct Manipulation 提供组合计时信息,应用程序应使用由 Direct Manipulation提供的 DCompManipulationCompositor,这将代表应用程序和驱动惯性更新处理所有视觉更新。
DCompManipulationCompositor 是 IDirectManipulationCompositor 接口的实现,该接口包装 DirectComposition。 Direct Manipulation 可以通过直接在 DirectComposition 树上设置转换来应用输出,而不是让应用程序应用输出,而不是让应用程序应用输出。 通过使用此配置,可以处理输入,并且可以应用输出转换,而不考虑 UI 线程上的活动。
为了 直接作 合成引擎的计时信息,DCompManipulationCompositor 类实现 IDirectManipulationFrameInfoProvider 接口。 创建视区时,QueryInterface 从 CoCreateInstance 获取的 IDirectManipulationCompositor 指针,该指针用于 IDirectManipulationFrameInfoProvider实例。 IDirectManipulationFrameInfoProvider 指针传递给 IDirectManipulationManager::CreateViewport() 函数。