GDC 2024 工作图和绘制调用——天作之合!

首次发布:
最后更新:
Matthãus Chajdas's avatar
Matthãus Chajdas

GDC 2024 高级图形峰会上的内容

如果您是 GDC 2024 工作图高级图形峰会上的听众,您已经听我们宣布了——将绘制调用作为工作图的一部分。如果您未能到场,或者只是想了解更多信息——那么您来对地方了。

多年来,游戏开发者一直梦想着一个完全由 GPU 驱动的渲染器,在那里整个场景处理都在 GPU 上进行。如今,一些游戏引擎在将场景处理移至 GPU 方面取得了令人瞩目的进展,但它们仍然受限于编程模型,这阻碍了它们实现完全的 GPU 渲染的“涅槃”。 

例如,它们必须处理“空绘制压缩”等问题,这些问题占用了大量的优化时间,并最终限制了性能。随着工作图的引入,这一问题得到了一部分解决,允许工作图处理复杂的场景处理和遍历,但绘制调用仍然是独立的。这导致了将绘制调用很好地集成到工作图系统中的困难,尤其是在工作图允许创建大量小型绘制调用和频繁进行 PSO 更改的情况下。

今天,我们非常高兴地宣布,“网格节点”将于今年晚些时候引入工作图!

工作图是 Microsoft®、AMD 和其他合作伙伴多年合作的成果。我们一直都知道,我们希望将这种能力从纯计算扩展到包括绘制节点,并很高兴看到这个原型已经在真实硬件上运行,我们期待着在将此功能添加到 Direct3D® 的未来版本时继续保持我们强大的合作伙伴关系。

Shawn Hargreaves (Microsoft Direct3D 首席工程经理)

“网格节点”通过引入一种新的叶节点来驱动网格着色器,从而扩展了工作图,并允许从工作图中引用普通的图形 PSO。是的,您没看错——现在也可以进行完整的 PSO 更改!该功能称为网格节点,因为它允许工作图直接馈入网格着色器,从而将工作图本身变成一个“升级版”的放大器。

注意:如果您还不完全确定网格着色器是否适合您,并且想在此处 GPUOpen 上了解更多关于它们的信息,我们强烈建议您查看我们的网格着色器博客系列

通过这一新功能,绘制调用成为工作图的组成部分,并在图的其余部分执行时进行处理。我们在与科堡大学的合作伙伴共同开发的程序性丰富化演示中取得了巨大成效。在此演示中,除了天空盒和 UI 之外的所有内容都使用单个工作图分派进行渲染。

对我们来说,GPU 工作图 API 是图形编程中的一个重要步骤,尤其是有了新的绘制节点。我们再也不想在没有它的情况下构建任何复杂的东西了!我们期待着将工作图应用于图形领域的许多问题。

Prof. Dr.-Ing. Quirin Meyer (科堡应用技术大学)

立即观看演示视频

Video

我们演示的一些统计数据

  • 每帧 6600 次绘制调用(合并后)
  • 每帧 1300 万个三角形
  • 工作图处理 200,000 个工作项
  • 37 个节点和 9 个绘制节点
  • < 200 MiB 的工作图后备存储内存

“网格节点”通过提供 Execute Indirect 的端到端替代方案并推动 GPU 编程模型向前发展,真正地闭合了循环。所有内容都可以放入单个图中并在单个分派中执行,这使得将大型应用程序从小型组件组合起来变得非常容易。此外,PSO 切换、空分派和缓冲区内存管理等问题都消失了,使得全 GPU 驱动的管线比以前更容易被许多应用程序和用例所访问。

在我们的演示应用程序中,我们也看到了显著的性能提升。在 AMD 程序化内容演示中进行测试时,使用网格节点扩展,ExecuteIndirect 的平均速度比工作图慢 **1.64 倍**1

Work graphs vs ExecuteIndirect: Super early numbers. Chart showing ExecuteIndirect at 1.64x compared to Work graphs at 1x. Lower is better.

我们对今年晚些时候推出网格节点后您将能做什么感到无比兴奋!

请务必查看我们下面的相关链接,了解 GPUOpen 上有关工作图的更多信息,包括我们的博客系列和入门示例。

更新:不要错过我们工作图 GDC 演讲的YouTube 视频,现已发布!

免责声明

  1. AMD 于 2024 年 3 月 15 日在 AMD Radeon RX 7900 XTX 上使用 AMD Software: Adrenalin Edition 31.0.24014.1002 预发布驱动程序,在配置为 AMD Ryzen™ 7 5800X CPU、32GB DDR4 内存、Gigabyte X570 AORUS ELITE WIFI 主板和 Windows 11 Pro 2023 更新的测试系统上,使用 ExecuteIndirect 命令和带网格节点扩展的工作图将场景信息分派到 Microsoft® DirectX® 12,使用 AMD 程序化内容工作图演示,包含概述、草地、桥梁、墙壁和市场场景视图。系统制造商可能会有不同的配置,从而导致不同的结果。RS-640。
Matthãus Chajdas's avatar

Matthãus Chajdas

Matthäus Chajdas 是 AMD 架构与软件技术团队的一名软件/硬件架构师,他致力于未来的 API、编程模型和硬件。此前,他曾在 AMD 的游戏开发者关系部门工作,帮助 ISV 从 AMD GPU 中获得最大收益。

相关新闻和技术文章

相关视频

© . This site is unofficial and not affiliated with AMD.