▲ 微软开发者博客,下同
微软在 Windows 显示驱动程序(WDDM) 以及 Windows 中引入 GPU 调度已有将近 14 年的时间。随着当下越来越多的软件开始通过利用 GPU 来渲染实现更精美的 UI 和动画,微软发现自己需要更好地确定哪一类程序的 GPU 工作优先级更高,以确保不影响用户日常或游戏体验。于是,WDDM 硬件加速 GPU 调度程序从此诞生了。
此前 WDDM 的主要调度方式是帧缓冲:当某个软件在第 N 帧执行 GPU 工作时,会让 CPU 提前为第 N+1 帧准备 GPU 命令,籍此保证良好的 CPU-GPU 并行执行能力。但从结果来看,在 CPU 和 GPU 之间帧缓冲虽可明显降低负载,但其副作用也同样明显,其从根本上导致了一定的帧延迟,尤其是 CPU 或者 GPU 达到负载上限时。
最新版的硬件加速 GPU 调度功能则是通过借助合适的硬件和驱动程序,将大部分 GPU 调度负载从 CPU 转移到专用的 GPU 调度处理器上,于是便实现了缓冲加速并降低输入延迟。
通过开启硬件 GPU 调度功能,CPU 将分批执行多个帧指令。这种设计在高端平台(i9-10900k+RTX2080Ti)的表现并不明显。因为对 i9 此类硬件来说,调度 GPU 帧缓冲的需求谈不上是何等的艰巨。然而并不是每个人都拥有这种测试平台,相信该功能在低端 CPU 平台运行游戏等方面会拥有更显著的提升。
在最新版 Windows 中,如果显卡支持的话,用户可通过设置页面(设置 -> 系统 -> 显示 -> 图形设置)选择开启。除 WDDMv2.7 和显卡驱动(AMD 肾上腺素 20.5.1 Beta、英特尔 27.20.100.7859 及其后版本、英伟达 450.12 及其后版本)外,用户还需要拥有支持该功能的硬件设备才能完美使用该功能。
新的 GPU 调度功能对驱动程序来说是一个根本性的改变,类似于重建房子(图形驱动)的地基(底层代码)。于是为了确保这之间平稳过渡,微软要求相关驱动程序在通过大量相关测试后才能正式发布。故硬件加速 GPU 调度的优点(个人认为可突显高端显卡 + 中低端 CPU组合的优势)可能还需要几个月甚至几年才能完全体现出来。
值得一提的是,目前该功能似乎还处于试验阶段。IT之家了解到,微软将通过实验平台和遥测系统对用户进行监测,从而有效地运行 A/B 实验(将开启硬件加速 GPU 调度功能的系统与运行旧 GPU 调度器的系统进行比较),同时鼓励 OEM 厂商默认开启硬件加速 GPU 调度功能来配置和验证该系统。
开启该功能后,从外观看起来或许并没有什么不同,用户或许也很难注意到这种变化,但新的 GPU 调度功能可切切实实地帮助用户在无形之中降低 GPU 等的硬件损耗。
广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考,IT之家所有文章均包含本声明。