AMD开源显卡光追分析器,可提升游戏开发性能,网友:A卡战未来

96000行代码

金磊 发自 凹非寺

量子位 | 公众号 QbitAI

千呼万唤始出来。

AMD,终于把Radeon光线追踪分析器(RRA)在GitHub上开源了!

简单来说,RRA是一套可以提高AMD GPU光线追踪性能的工具。

虽然它在今年7月就已经被提出,但当时在GitHub上除了“一纸”文档之外就没有任何东西。

而现如今,这个源代码多达96000行的工具开源,可谓是给游戏开发者带来了福音,也引发了不小讨论:

然后对于AMD的此举,也有网友附上了老梗:A卡战未来

AMD的这个工具有什么用?

正如刚才我们提到的,这个工具主要的作用,就是提高AMD GPU在光追场景中的性能。

更具体一点,根据AMD官方给出的说法,游戏开发者在工作时往往需要创建加速结构。

因此,在这个过程中,就需要一种可视化的方法,来“看清”这些结束结构,以及了解它们是如何对性能产生的影响。

而RRA就允许开发者通过标准化光栅化渲染器或使用遍历计数器视图,来可视化边界框层次结构和相关场景几何图形。

在AMD看来,光线追踪固有的一个trade-off,就存在于边界体积层次结构(BVH)的构建时间和遍历时间之间。

开发人员负责将应用程序的网格数据分组到包含在底层加速结构(BLAS)中的几何图形中,并将它们的实例放入顶层加速结构(TLAS)中。

但如果实例的边界框占用大量空白空间,或者与其它实例的边界框有大量重叠,则会损害遍历性能。

例如在下面这个案例中,边界框把所有房屋都给包了起来,与此同时,它也占据了大量的空间:

但若是把地形分割成块,可以大大减少与其它实例边界框的重叠,并且边界体积也更紧密地适应了地形。

AMD建议游戏开发者可以通过RRA这样的工具,来分析TLAS的构建时间。

还是基于刚才的案例,若是切换到RRA中的遍历计数器渲染模式,可以更清楚地了解光线遍历时间的好处。

可以明显看到的是,当地形被分割成大块时,城堡和最近的两个房子的颜色要暗得多,这就意味着更低的遍历成本。

一些准备工作

那么接下来一个问题是,RRA怎么用?

对此,在AMD官方GitHub中也已有所介绍。

游戏开发者首先需要在自己的设备中安装最新的AMD视频/显示驱动程序,而老版本的则需要彻底删除。

根据GitHub给出的文件下载路径,对其下载并解压。这个文件将包含如下内容:

  • Radeon Developer Service(RDS)
  • Radeon Developer Service CLI(RDS headless)
  • Radeon Developer Panel(RDP)
  • Radeon Raytracing Analyzer(RRA)

除此之外,对于RRA的一些支持项也需要游戏开发者注意。

例如在API方面,RRA支持DirectX12和Vulkan;ASIC方面,支持AMD Radeon RX 6000系列;在操作系统方面,则支持Windows(10、11)和Ubantu(20.04 LTS、22.04 LTS)。

RRA的开源地址在下面奉上了,有需要的小伙伴可以开用了~

项目地址:
https://github.com/GPUOpen-Tools/radeon_raytracing_analyzer

参考链接:
[1]https://www.phoronix.com/news/AMD-GPUOpen-RRA-Open-Source
[2]https://news.ycombinator.com/item?id=33653356
[3]https://gpuopen.com/learn/improving-rt-perf-with-rra/

版权所有,未经授权不得以任何形式转载及使用,违者必究。