实用!微软讲解硬件加速GPU调度功能

7月2日消息  微软此前在 Windows 2020 年 5 月更新中引入了硬件加速 GPU 调度功能,但到上个月为止,微软并没有给出关于它的实际作用及任何相关性的解释。因此,微软官方昨日发布了一篇相关博客来介绍该功能,笔者将结合实际简单为大家讲解一下这其中诸多事项。

▲ 微软开发者博客,下同

前世今生

微软在 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 调度处理器上,于是便实现了缓冲加速并降低输入延迟。

低输入延迟或减少 CPU 负载

通过开启硬件 GPU 调度功能,CPU 将分批执行多个帧指令。这种设计在高端平台(i9-10900k+RTX2080Ti)的表现并不明显。因为对 i9 此类硬件来说,调度 GPU 帧缓冲的需求谈不上是何等的艰巨。然而并不是每个人都拥有这种测试平台,相信该功能在低端 CPU 平台运行游戏等方面会拥有更显著的提升。

如何开启

在最新版 Windows 中,如果显卡支持的话,用户可通过设置页面(设置 -> 系统 -> 显示 -> 图形设置)选择开启。除 WDDM v2.7 和显卡驱动(AMD 肾上腺素 20.5.1 Beta、英特尔 27.20.100.7859 及其后版本、英伟达 450.12 及其后版本)外,用户还需要拥有支持该功能的硬件设备才能完美使用该功能。

目前或许很难完全体现其超前性

新的 GPU 调度功能对驱动程序来说是一个根本性的改变,类似于重建房子(图形驱动)的地基(底层代码)。于是为了确保这之间平稳过渡,微软要求相关驱动程序在通过大量相关测试后才能正式发布。故硬件加速 GPU 调度的优点(个人认为可突显高端显卡 + 中低端 CPU组合的优势)可能还需要几个月甚至几年才能完全体现出来。

值得一提的是,目前该功能似乎还处于试验阶段。了解到,微软将通过实验平台和遥测系统对用户进行监测,从而有效地运行 A/B 实验(将开启硬件加速 GPU 调度功能的系统与运行旧 GPU 调度器的系统进行比较),同时鼓励 OEM 厂商默认开启硬件加速 GPU 调度功能来配置和验证该系统。

切换到新的 GPU 调度模式会发生什么

开启该功能后,从外观看起来或许并没有什么不同,用户或许也很难注意到这种变化,但新的 GPU 调度功能可切切实实地帮助用户在无形之中降低 GPU 等的硬件损耗。