我看到很多人说 Windows Aero 将 UI 卸载到 GPU 从而使它实际上比 Windows Basic 主题更快,所以我做了一个比较测试并验证了它确实如此,Basic 主题在做同样的事情时(例如快速连续移动窗口)更滞后并且使用更多的 CPU。
那么为什么基本 UI 不能在 GPU 上运行?带有 GPU 卸载的简单 UI 不是最好的选择吗?另外我想知道在没有 Aero 的系统(例如 Windows XP 或 Windows 10)中如何处理 UI?
答案1
GPU 渲染 UI 最早是在 Windows Vista 中引入的。在此之前,Windows(以及大多数其他系统)上只有 CPU 渲染。Basic 充当了后备,我猜负责实现 GPU 渲染 UI 的工程师没有剩余的时间预算,或者实现让 GPU 渲染适用于 Basic 主题的方法超出了范围。
在 Windows 8(?) 或 10 中,这种情况有所改变,您可以获得以前只能通过 Aero 和 GPU 渲染获得的桌面合成效果,这让知道 3D 功能被禁用的虚拟机用户感到意外。这与您建议的相反(在 GPU 上渲染的简单 UI)。
利用 GPU 加速可能非常复杂,因为您需要硬件、驱动程序和软件来支持协议的特定功能集,而该协议并不像今天这样广泛可用。请记住,我们讨论的是十年前编写的代码。