为何使用 DirectComposition?

注意

对于 Windows 10 上的应用,建议使用 Windows.UI.Composition API 而不是 DirectComposition。 有关详细信息,请参阅 使用可视化层实现桌面应用的现代化

本主题介绍 Microsoft DirectComposition 的功能和优势。 它包含以下部分:

创建具有视觉吸引力的用户界面

借助 DirectComposition,你可以组合视觉 对象 并为其创建动画,以便为基于 Windows 的应用程序创建具有视觉吸引力的 UI。 它可以帮助为应用程序提供独特的外观,从而建立一个标识,使其与其他应用程序区分开来。

DirectComposition 还有助于使应用程序更易于使用。 例如,可以使用视觉层来创建视觉线索和动画屏幕过渡,以便在屏幕上显示各个项之间的关系。

为应用程序启用丰富、流畅的动画

DirectComposition 是一种高性能位图合成引擎,它使用硬件加速图形来实现高帧速率,从而平滑且一致的平移、滚动和复杂内容的动画。 由于它在与用于呈现应用程序 UI 的线程分开的专用线程上运行,因此 DirectComposition 永远不会“耗尽”UI 线程或干扰应用程序绘制其 UI 元素的能力。

合并来自各种源的位图

许多基于 Windows 的应用程序都有一个 UI,其中包含由各种不同的图形框架创建的元素。 例如,应用程序可以使用 Windows 窗体 创建状态栏,使用 Windows 图形设备接口 (GDI) 创建main窗口内容,使用 Microsoft DirectX 创建图形内容等。 DirectComposition 使你能够组合各种图形框架中的内容,并将其呈现到同一顶级窗口或子窗口,而无需担心不同框架中的内容重叠时会发生什么情况。

通过与 DWM 集成节省内存

DirectComposition 创建的合成和动画将传递到 Windows 的内置组件,称为 桌面窗口管理器 (DWM) 以呈现到屏幕。 因此,计算机上不需要特殊的呈现组件或 UI 框架。

保留你已有的内容

基于 Windows 的现有应用程序中的 UI 代码是一项重大投资。 在大多数情况下,DirectComposition 允许你撰写现有 UI 内容并为其创建动画。 这意味着,你可以使用 DirectComposition 对应用程序 UI 进行重大更新和增强,而无需对现有 UI 代码库进行大量更改。

DirectComposition