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和图形直接互不干扰。】
性能数字:运行高需求图形测试的影响,采用RX480,预留4CU,256个卷积通道,1.3s IR, 1024采样帧,48KHz采样率。延迟增加最多1ms左右
本文地址:http://www.moepc.net/?post=4340
如何开启Steam Audio中的TrueAudio Next
系统要求
使用Unity插件
在想使用TAN的每个场景中的Steam® Audio Manager Settings object里加上一个Steam Audio Custom Settings component,然后把卷积设置为TrueAudio Next。
TAN和资源预留都可以给每个场景设置是否开启。
使用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编译,转载请保留出处。
好想看amd和steam在linux上多搞事情,之前steam不是要弄apu掌机么,不知又怎么了。
@游客:去年说发布的
钱不够.jpg
低估了做掌机所要的钱
@剧毒术士马文:去年Mesa有13%的代码是Valve贡献的。
@游客:GPD Win 2都出了,来个GPD with Steam也不是没戏啊
A卡音质好,就是目前VR设备官配的耳机本身音质跟不上……
明明是开发者可以使用部分CU专门处理音频,不知怎的就给某些ZZ传成了A卡部分CU没启用专为音频保留了………
@LuluEhh:日常.jpg
圖形追不上老黃還要玩音頻加速!?GG
我穿越了么?文章发表于2018年2月10日0:48…
我现在处于0:17.
@白猫:日本时区+1h