Unity 音频理解与优化

音频的性能开销主要有两点:内存开销和CPU开销。

其中Load Type有三种类型:

  • Decompress On Load:音频文件在加载完毕后,会被全部解压到内存中。这种方式会占据大量的内存,然而在播放时,由于音频之前已经被解压,所以其对CPU的开销很小。
  • Compressed In Memory:音频文件以压缩格式存放于内存中,一边播放一边进行解压。这种模式的内存开销会比前一种稍小,但是播放时的CPU开销会较之更大。
  • Streaming:音频文件不会被加载到内存,只有即将播放的一小段才会被读取到内存中。这种模式的内存开销最低,但是CPU开销也最大,因为其伴随着大量的磁盘读写操作和解压缩。

 

 

Compression Format主要也可以分为三种类型:

  • PCM:完全不压缩格式,占据的硬盘和内存相对会较大,由于运行时不需要解压,所以它的CPU开销最小。
  • ADPCM:一种古老的压缩格式,相对于PCM的压缩比为3.5:1,但是运行时的解压开销很小,对于音质有一定损耗。
  • Vorbis/MP3:常见的压缩格式,主流平台全部支持的格式,压缩比较高,但是运行时的解压缩开销较大,对于音质的损耗更加严重。在iOS平台上一般设置为MP3,因为iOS支持MP3格式的硬解码。

 

 

项目选择

  • 对于背景音乐,采用Compressed In Memory+Vorbis/MP3,因为背景音乐通常较大较长,所以内存开销就会比较大,这时候我们应该优先关注内存,同时也要使CPU开销没有Streaming那么大。
  • 对于时长较短且频繁播放的音效,比如按钮点击音效,采用Decompress On Load+PCM,因为非常短的音效文件很小,所以内存开销就不那么关键,可能由于要播放多次,这时候CPU开销就很关键。
  • 对于一般的音效,采用Compressed In Memory+ADPCM,你需要去试听其效果,如果觉得ADPCM失真太严重,可以将其换成PCM。

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值