3

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

 1 year ago
source link: https://www.qbitai.com/2022/11/39692.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

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

head.jpg十三 2022-11-21 12:13:36 来源:量子位

96000行代码

金磊 发自 凹非寺

量子位 | 公众号 QbitAI

千呼万唤始出来。

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

57b35cc430c24243b12e8ff7b433d4bc~noop.image?_iz=58558&from=article.pc_detail&x-expires=1669608462&x-signature=fJQoaEcNbiLWl9tiUUqnilseYdE%3D

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

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

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

aaa5e05dce9a419bac282ec35d1ae58d~noop.image?_iz=58558&from=article.pc_detail&x-expires=1669608462&x-signature=kq10vR29HGFEvuBbiktFTE6dLuw%3D

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

8760a64124e14052b323ed0ad79beba1~noop.image?_iz=58558&from=article.pc_detail&x-expires=1669608462&x-signature=P0%2BQIyfHKejFLThM9iLZQ0rKgJU%3D

AMD的这个工具有什么用?

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

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

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

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

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

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

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

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

c1693db5b16047c7a4ef21e715c5824a~noop.image?_iz=58558&from=article.pc_detail&x-expires=1669608462&x-signature=rTGVR0qVRICkHiTFi%2BbNq3j10iE%3D

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

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

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

01c3bf7c51af47058d16becff83fecac~noop.image?_iz=58558&from=article.pc_detail&x-expires=1669608462&x-signature=v%2BTta2wszdCEsqFbzF7SCsvaogA%3D

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

一些准备工作

那么接下来一个问题是,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/

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

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK