您的位置  > 互联网

硬件加速GPU计划官方把-GPU这个词翻译成了命令

上个月底,官方终于对这个选项给出了完整的解释。 本文基于这篇官方博文,讲解了这个新的硬件加速GPU计划选项的具体工作原理和功能,并综合了多个媒体测试数据来看看它的效果如何。

“硬件加速GPU计划”

GPU这个词正式翻译为硬件加速GPU计划。 其实这里翻译为“调度”是为了让更多的人能够理解它的含义。 这也是一个比较微软风格的翻译。

回到正题,说到GPU调度管理,我们首先要了解什么是WDDM GPU调度器。

WDDM GPU 调度程序和命令缓冲区队列

从NT 6开始,微软引入了新的显示驱动模型,也就是我们现在所知的Model,简称WDDM。 在WDDM出现之前,应用程序可以直接向GPU提交任务。 当时系统只有一个全局任务队列,任务严格按照先到先得的原则进行调度。 考虑到当时使用GPU的场景基本都是全屏游戏或者专业渲染,所以这个方案并没有出现什么问题,并且被使用了很多年。

现在很多程序都调用GPU

在应用程序开始普遍使用GPU加速的时代,比如你想直接使用GPU来加速整个UI界面的渲染,那么使用这个全局任务队列就会出现问题。 例如,渲染系统界面的任务会排队在另一个程序之前提交。 任务,那么GPU会先处理该任务,然后再回去处理系统的需求,这会导致整个系统UI卡住。 为了正确地确定 GPU 工作的优先级,需要一个新的任务调度程序,它负责确定 GPU 任务的优先级。

然后WDDM引入了任务调度器,它总是以高优先级线程的形式运行在CPU上,负责对各个应用程序提交的工作进行协调、优先级排序和调度。 从Vista上的WDDM 1.0到2004年10月的WDDM 2.7,官方一直在增强这个调度程序的功能。 但这种管理方式有一定的局限性,主要体现在提交的额外开销以及任务到达GPU有一定的延迟时间。 然而,在实践中,这些限制被传统图形应用程序的渲染缓冲区队列所掩盖。

缓冲区用于存储渲染命令和预先准备的其他内容。 当 GPU 渲染当前帧时,CPU 就已经在准备下一帧、下一帧,甚至之后更多的帧。 这种方法可以保证CPU和GPU之间良好的执行并行性,也可以降低整体性能开销。 这是现在很常见的GPU调用方式。 同时,为了减少频繁提交渲染命令带来的额外性能开销,应用程序一般会提前准备好多帧的内容,并一起发送到队列中。 这里出现了问题,缓冲的帧越多,用户体验到的延迟就越高。

顺便说一句,AMD和AMD去年都在驱动程序层面提供了对缓冲队列深度的控制,通过减少缓冲队列中的帧数来达到减少延迟的目的。

但是,如果想减少缓冲队列的深度来减少延迟,则会增加提交开销,影响性能。 两者之间需要权衡。 程序可以以较高的频率提交更少的帧以减少延迟,也可以以较低的频率提交更多的帧以减少额外的调度。 承担开销。 因此,微软决定修改其显示驱动模型的基础设施,并推出“硬件加速GPU计划”。

将任务调度卸载到专用硬件

2004年10月推出的新选项允许系统将大部分调度任务交给GPU专有的硬件调度程序。 它将继续控制程序调用GPU的优先级,但高频任务将交给GPU来调度。 它由处理器管理,负责各种GPU引擎的量子管理和上下文切换。

按照官方的说法,新的选项是让GPU直接管理自己的内存,即显存。 在此之前,显存由系统管理。

启用这种新的调度方法有两个先决条件。 一是硬件支持:它要求GPU本身有专门的硬件模块来处理调度任务。 另一个是驱动程序支持:系统需要符合WDDM 2.7标准的显示驱动程序。 仅当您的驱动程序和硬件支持时,此选项才会出现在系统设置中。 另外,新的调度方式的引入,是对驾驶员模型的一次重大、根本性的改变。 它在某些时间和某些场景下可能会产生不可知的影响,因此微软默认将其视为实验性选项。 底部是封闭的。 开发团队目前正在比较两个调度器之间的性能差异,并监控新调度器的可靠性。 将来可能会在支持的硬件上默认启用此选项。

目前支持该功能的GPU有GPU和GPU,AMD的RDNA GPU,Intel这边的情况未知。

实际测试:对高端平台影响不大

好了,说了这么多,我们来看看这个功能的实际表现吧。 我们从Tom's and两家媒体找到了测试数据(以下图片均来自Tom's and)。

Tom’s使用了三套测试平台,分别是Core i9-9900K+RTX 2080 Ti、Ryzen 9 3900X+RTX 2080 Ti和Core i9-9900K+GTX 1050。从五款游戏的测试结果来看,基本上没有用户——可感知的差异。

选择Core i9-9900K + RTX 2080 Ti/GTX 1650 SUPER等两个平台后,在RTX 2080 Ti上启用硬件调度的性能变化并不明显,但在GTX 1650 SUPER等主流显卡上确实出现了。 明显的改善。 原因如果从几个方面来解释的话,就是GPU对图形的直接管理带来了一定的效率提升。 或许,这个功能会给很多主流平台带来可观的免费性能提升,而对于高端平台来说,影响会很小。

总结:好技术,还需要时间完善

因此,“硬件加速GPU计划”本质上是一项对图形架构影响较大的新技术。 它需要新的硬件和新的驱动程序的支持才能实现,并且可以给平台带来一定的性能提升。 但目前还处于测试状态,GPU厂对它的支持也还处于可用状态,还需要官方进一步优化和完善。 这也是微软针对下一代图形应用对系统做出的改变,为了尽可能减少延迟,让系统跟上时代的发展。 这是一项很好的技术,但还有很长的路要走。