Unity音频优化Tip
目录
虽然音频通常不会产生性能瓶颈,但一定的优化仍然可以省下些许内存。
优化AudioClips(音频片段)的导入设置。
尽可能地采用未经压缩的原始WAV文件作为资源
Unity会在导入时解压所有的压缩格式(如MP3或Vorbis),在构建时再度进行压缩,这就导致了音频经受两次压缩,最终音质将不可避免地受损。
降低音频压缩时的压缩比
当然,我们的确能使用压缩技术来降低音频大小和内存使用:
- Vorbis格式适用于大部分音效(不用循环播放的音效可使用MP3)。
- ADPCM格式适用于短促且经常出现的声音(如脚步声、枪声)。相较于未压缩的PCM格式,该格式减小了文件体积,还能在播放时快速解码。
移动设备上的声效最高频率应为22,050赫兹,较低的频率虽然对最终音频的影响不大,但你最好用自己的双耳来做判断。
选择恰当的Load Type(加载类型)
Load Type设置应根据音频的体积而异。
- **短音频(< 200 kb)可以设为Decompress on Load(加载时解压),**这时音频会被解压成原始的16位PCM音频数据,产生一定CPU和内存占用,所以音频不宜过大。
- 中等音频(>=200kb)可保持Compressed in Memory(在内存中压缩)。
- 长音频(背景音乐)应设为Streaming(流播放),避免将整个音频资源一次性加载到内存中。
释放无声音AudioSources的内存
如果游戏中有静音按钮,静音行为不能只是简单地将音量设置为0。假设玩家无需经常性地开关静音,我们可以调用Destroy方法来将AudioSource组件从内存中移除。
Written with StackEdit.