发布网友 发布时间:2024-01-19 21:42
共1个回答
热心网友 时间:2024-02-04 16:40
要。
“硬件加速GPU计划”实质上是一项对Windows图形架构影响较大的新技术,它需要新硬件和新驱动的支持才能够实现,能够为平台带来一定的性能提升。
但目前它仍然处于测试状态,GPU厂对它的支持仍然算是刚刚可以用的状态,还需要官方进一步的优化和完善它。
这也是微软为次世代图形应用对系统做出的改变,为了尽可能的降低延迟,让系统跟上时代的发展。它是一项好技术,但仍然还有很长的一段路要走。
到了应用程序开始普遍利用GPU加速的年代,比如说Windows要直接用GPU加速整个UI界面的渲染了,那么再用这个全局任务队列就会有问题,比如渲染系统界面的任务前面排了一个其他程序提交的任务,那么GPU会先处理掉那个任务再回头来处理系统的需求,这会造成整个系统UI的卡顿。
为了妥善地安排GPU工作的优先级,势必需要一个新的任务调度器,由它负责安排GPU任务的工作优先级。
那么WDDM就引入了那么一个任务调度器,它以高优先级线程的形式一直运行在CPU上,负责协调、优先处理和调度各种应用程序提交的工作。
从Vista上面的WDDM 1.0到Windows 10 Version 2004的WDDM 2.7,官方一直都在加强这个调度器的功能。但这种管理方式存在有一定的*,主要体现在提交会有额外开销和任务达到GPU有一定的延迟时间,不过这些*在实际中都被传统图形应用的渲染缓冲队列给掩盖了。
缓冲用来存放提前准备好的渲染命令等等内容,在GPU渲染当前帧的时候,CPU已经在准备下一帧、下下帧乃至之后的更多帧数了。这种方式能够保证CPU与GPU之间的良好执行并行性,也可降低整体的性能开销,是现在很常见的GPU调用方式。
同时为了降低频率提交渲染命令带来的额外性能开销,一般应用程序会提前准备好多帧的内容一起发送到队列中。这里产生了问题,缓冲的帧数越多,用户能够感受到的延迟越高。