AMD|AMD开源显卡光追分析器 网友:A卡战未来

千呼万唤始出来 。
AMD , 终于把Radeon光线追踪分析器(RRA)在GitHub上开源了!
【AMD|AMD开源显卡光追分析器 网友:A卡战未来】AMD|AMD开源显卡光追分析器 网友:A卡战未来
文章图片

简单来说 , RRA是一套可以提高AMD GPU光线追踪性能的工具 。
虽然它在今年7月就已经被提出 , 但当时在GitHub上除了“一纸”文档之外就没有任何东西 。
而现如今 , 这个源代码多达96000行的工具开源 , 可谓是给游戏开发者带来了福音 , 也引发了不小讨论:
AMD|AMD开源显卡光追分析器 网友:A卡战未来
文章图片

然后对于AMD的此举 , 也有网友附上了老梗:A卡战未来 。
AMD|AMD开源显卡光追分析器 网友:A卡战未来
文章图片

AMD的这个工具有什么用?
正如刚才我们提到的 , 这个工具主要的作用 , 就是提高AMD GPU在光追场景中的性能 。
更具体一点 , 根据AMD官方给出的说法 , 游戏开发者在工作时往往需要创建加速结构 。
因此 , 在这个过程中 , 就需要一种可视化的方法 , 来“看清”这些结束结构 , 以及了解它们是如何对性能产生的影响 。
而RRA就允许开发者通过标准化光栅化渲染器或使用遍历计数器视图 , 来可视化边界框层次结构和相关场景几何图形 。
在AMD看来 , 光线追踪固有的一个trade-off , 就存在于边界体积层次结构(BVH)的构建时间和遍历时间之间 。
开发人员负责将应用程序的网格数据分组到包含在底层加速结构(BLAS)中的几何图形中 , 并将它们的实例放入顶层加速结构(TLAS)中 。
但如果实例的边界框占用大量空白空间 , 或者与其它实例的边界框有大量重叠 , 则会损害遍历性能 。
例如在下面这个案例中 , 边界框把所有房屋都给包了起来 , 与此同时 , 它也占据了大量的空间:
AMD|AMD开源显卡光追分析器 网友:A卡战未来
文章图片

但若是把地形分割成块 , 可以大大减少与其它实例边界框的重叠 , 并且边界体积也更紧密地适应了地形 。
AMD建议游戏开发者可以通过RRA这样的工具 , 来分析TLAS的构建时间 。
还是基于刚才的案例 , 若是切换到RRA中的遍历计数器渲染模式 , 可以更清楚地了解光线遍历时间的好处 。
AMD|AMD开源显卡光追分析器 网友:A卡战未来
文章图片

可以明显看到的是 , 当地形被分割成大块时 , 城堡和最近的两个房子的颜色要暗得多 , 这就意味着更低的遍历成本 。
一些准备工作
那么接下来一个问题是 , RRA怎么用?
对此 , 在AMD官方GitHub中也已有所介绍 。
游戏开发者首先需要在自己的设备中安装最新的AMD视频/显示驱动程序 , 而老版本的则需要彻底删除 。
根据GitHub给出的文件下载路径 , 对其下载并解压 。这个文件将包含如下内容:
Radeon Developer Service(RDS)