本文作者:交换机

微软推出DirectX 12 Work Graphs 提升GPU渲染效率

交换机 03-14 44
微软推出DirectX 12 Work Graphs 提升GPU渲染效率摘要: 微软宣布推出一项DirectX 12新功能,名为Work Graphs,可以提高GPU驱动程序渲染的使用效率,从而减轻CPU的任务负担。微软宣布推出一项DirectX 12新功能...

微软宣布推出一项DirectX 12新功能,名为Work Graphs,可以提高GPU驱动程序渲染的使用效率,从而减轻CPU的任务负担。

微软宣布推出一项DirectX 12新功能,名为Work Graphs,之前这一功能已经在预览版中发布了一段时间了。微软表示利用Work Graphs,可以提高GPU驱动程序渲染的使用效率,从而减轻CPU的任务负担。

微软推出DirectX 12 Work Graphs 提升GPU渲染效率
图片来源网络,侵删)

微软在博客文章中对Work Graphs进行了解释。Work Graphs是D3D12中的GPU自主系统,旨在解决GPU上一般计算工作负载的限制,并解锁潜在的GPU功能。简而言之,新系统旨在切换到更高效的GPU驱动渲染系统,减少在不同工作负载下使用CPU的需求。在许多GPU工作负载中,GPU上的初始计算决定了GPU需要哪些后续工作,可以通过返回CPU以发出新的工作任务来完成。不过对于GPU来说,能够为自己生成工作任务,直接提供数据效果会更好。D3D12中的ExecuteIndirect是这种形式的一种,其中应用程序使用GPU记录一个非常受限的命令缓冲区,需要在GPU上进行串行处理,以发布新的工作。

这考虑到一种新的方案,***设在GPU上运行的着色器线程(生产者)可以请求其他工作运行(消费者),那么消费者也可以是生产者,只要GPU有能力运行,系统就能安排所请求的工作。此外,应用程序还可以让系统管理任务间数据流的内存。这种方案就是Work Graphs,在节点图中,每个节点的着色器代码都可以请求调用其他节点,而无需等待它们启动。Work Graphs可以捕捉用户的算法意图和整体结构,而不会让开发人员过多地了解具体的硬件运行情况。异步的特性使系统可以最大限度地自由决定如何以最佳方式执行工作。

微软推出DirectX 12 Work Graphs 提升GPU渲染效率
(图片来源网络,侵删)
微软推出DirectX 12 Work Graphs 提升GPU渲染效率
(图片来源网络,侵删)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

阅读
分享