数码科技

AMD和Valve携手,将AMD TrueAudio Next 技术引入Steam Audio【系统要求、设置教程 & 性能影响】

本文地址:http://www.moepc.net/?post=4340

点击查看原图

今天,AMD和Valve宣布合作,在Steam Audio中为AMD TrueAudio Next(TAN)技术提供支持,为VR内容提供更高的声学复杂性和细节,同时显著加速音频处理并提高整体性能。

TAN有两个高级功能可以最大限度地提高系统的音频性能:

AMD资源预留:
允许开发者专门为音频处理预留一部分GPU计算资源。开发人员可以将20-25%的GPU计算单元专用于音频处理,并且可以逐个场景地启用或禁用。

GPU计算卷积算法:
使开发人员能够使用时域卷积混响增加其游戏和VR应用程序中的声学复杂性和细节。时域卷积混响可以模拟各种各样的声音现象,并且增加存在感,这对于在VR游戏中创造真正的沉浸感必不可少。

点击查看原图

这些功能为开发人员提供了一些优势,最终实现更好性能和更加身临其境的体验,其中包括:

更高的听觉复杂度:
使开发者可以选择增加音频源的数量,为间接声音提供高保真度立体声,脉冲响应(IR)长度等等。

释放CPU资源:
将CPU卷积计算迁移到GPU,减少CPU花费在音频处理上的时间,让CPU用于其它任务(如物理仿真或AI)。

减少/消除不必要的点击,弹出和音频毛刺:
渲染复杂的场景不会导致音频处理减慢,避免不必要的音频毛刺。

具有柔滑性能:
防止突然帧率下降和卡顿,因为音频处理不会影响图形或CPU处理过程。


以上是AMD发的新闻稿,不过官方好像并没有给出steamcommunity上的另一部分内容,也就是关于系统配置和性能影响方面的。



以下为本站节选译文。


TrueAudio Next(下称TAN)的资源预留可以分配最多20-25%的CU,也就是最多16个CU。


TAN并不对声音进行光线追踪 – 光线追踪是模拟的一种手段,同时计算出IR;TAN则是在算出(或者手动配置IR之后,对过滤音频数据的过程进行加速。


2013年AMD就引入了TrueAudio,当时用的是AMD GPU上独立的DSP硬件来加速某些音频功能,这次的TrueAudio Next用的是已有的AMD GPU资源,也就是CU,算法更通用、更具拓展性。


TAN是基于OpenCL的library,也可以让CPU来跑,只是让GPU的预留资源去跑会更具效益。


TAN的好处

TAN的OpenCL卷积算法把卷积交给GPU,显著提升音频处理速度。

  • Steam Audio使用的CPU卷积算法效率很高,对于很多游戏和VR是足够的;然而TAN则能让开发者达到更高的音频复杂度:可以增加声源数量、为间接声音提供的高保真度立体声响复制(Ambisonics)、脉冲响应(IR)的长度等等。
  • 减少CPU负担,就能分配更多CPU资源给物理模拟或者AI。

性能数字GPU vs CPU 卷积性能,1s的IR,1st order Ambisonics, 1024采样帧,48KHz采样率。

声源数量越多,GPU卷积的性能优势就越大,对于大量声源,GPU卷积是必要的。这里分配了8个CU。

点击查看原图

本文地址:http://www.moepc.net/?post=4340


资源预留的好处

资源预留可以把TAN卷积算法和其他渲染、物理之类的GPU任务隔离开来。

  • 预留的CU越多,一般性能越高(即便是高需求负载的情况下)
  • 音频处理并不会干扰图形,所以也不会导致突然掉帧、卡顿。渲染复杂场景也不会导致音频处理变慢,减少音频毛刺。【如果使用资源预留分配CU就直接分走了性能,下面会说。】

性能数字:增加预留CU数量带来的性能提升。1s IR,1st order Ambisonics,1024采样帧,48KHz采样率。预留CU越多,能同时处理的声源数量就越多。

点击查看原图

性能数字同时运行TAN测试和GPU测试,采用RX480,预留4CU给TAN,也就是11%,256个卷积通道,1.3s IR。结果降低10%左右性能。【降低的性能和预留的11%一致,说明资源预留使得TAN和图形直接互不干扰。】

QQ截图20180209225447.png

性能数字运行高需求图形测试的影响,采用RX480,预留4CU,256个卷积通道,1.3s IR, 1024采样帧,48KHz采样率。延迟增加最多1ms左右

QQ截图20180209225536.png

本文地址:http://www.moepc.net/?post=4340

如何开启Steam Audio中的TrueAudio Next

系统要求

QQ截图20180209230401.png

使用Unity插件

在想使用TAN的每个场景中的Steam® Audio Manager Settings object里加上一个Steam Audio Custom Settings component,然后把卷积设置为TrueAudio Next。


TAN和资源预留都可以给每个场景设置是否开启。

2e44bdcfadb466b163d04099ac5bc15d0bc0fce1 (1).png

使用FMOD Studio插件

按照和上面Unity一样的步骤,无需额外设置。

使用虚幻4插件

直接设置Steam Audio 插件,卷积设置为AMD TAN,无需额外设置

在这里:https://steamcommunity.com/linkfilter/?url=https://github.com/EpicGames/UnrealEngine/pull/4478

需要EpicGames组织会员。

点击查看原图

使用C API

两个步骤:

初始化一个支持TAN的OpenCL计算设备,call iplCreateComputeDevice一般在程序启动时),在deviceFilter分页里,把type设置为 IPL_COMPUTEDEVICE_GPU,把TrueAudioNext设置为IPL_TRUE。然后SteamAudio会试图在支持TAN的GPU上初始化OpenCL。如果找不到支持的设备,会返回错误代码。

创建一个使用TAN作为卷积的环境渲染器。把renderSettings中的convultionType设为IPL_CONVOLUTIONTYPE_TRUEAUDIONEXT。返回成功的状态码。

使用TAN的情况下,在为每个卷积效果object分别配置时,iplGetMixedEnvironmentalAudio 比iplGetWetAudioForConvolutionEffect 效率更高。

本文地址:http://www.moepc.net/?post=4340

via:steamcommunity.com

MOEPC.NET编译,转载请保留出处。

剧毒术士马文

留学中 Comp.Arch|RISCV|HPC|FPGA 最近沉迷明日方舟日服 联系方式请 discord 或者 weibo 私信。目前不在其他平台活动。 邮箱已更新为[email protected]。 看板娘:ほし先生♥

相关文章

10 评论

  1. 好想看amd和steam在linux上多搞事情,之前steam不是要弄apu掌机么,不知又怎么了。

    1. @游客:去年说发布的
      钱不够.jpg
      低估了做掌机所要的钱

      1. @剧毒术士马文:去年Mesa有13%的代码是Valve贡献的。

    2. @游客:GPD Win 2都出了,来个GPD with Steam也不是没戏啊

  2. A卡音质好,就是目前VR设备官配的耳机本身音质跟不上……

  3. 明明是开发者可以使用部分CU专门处理音频,不知怎的就给某些ZZ传成了A卡部分CU没启用专为音频保留了………

  4. 我穿越了么?文章发表于2018年2月10日0:48…
    我现在处于0:17.

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

返回顶部按钮