UPL2-7——Audio 模块
UPL2-7——Audio 模块
关于 Unity 自带的音频播放相关,详见:U1L14——音效系统相关
Audio 模块
Audio(音频)模块 是用来分析和监控音频系统的性能表现的,包括音频播放、混音、音量、CPU 占用等关键信息
在游戏中如果出现以下问题时,可以着重观察这里的内容:
- 声音异常(音量小、失真、播放顺序错误等等)、缺失
- 声音卡顿、延迟、音画不同步
- 声音内存占用过高
等等
总之,几乎所有和音频相关的问题,我们都可以通过该模块进行排查
Audio 中各参数功能的含义和作用

-
音效(Audio)分析窗口

-
Playing Audio Sources:场景中在该帧播放的音频源的总数。此信息可用于监测音频是否过载。
该帧播放的音频源的总数超过 20~30 个时,在移动端可能导致声音丢失或性能下降
如果你听不到声音、某些音效丢失,可以看这里是否AudioSource数量太多 -
Audio Voices:该帧中使用的音频(FMOD 通道)语音数
若 AudioSource 多但 Voices 少,说明部分声音被“抢占”或“没被调度”
-
Total Audio CPU:音频在该帧中使用的 CPU 使用量
一般 < 10% 属于健康,> 20% 则需排查
-
Total Audio Memory:音频引擎在该帧中使用的内存量
持续增长或过大可能是资源未释放,或内存音频太多
-
-
Simple 该帧音频简单信息

-
Total Audio Sources:场景中音频源的总数
-
Playing Audio Sources:场景中播放的音频源的总数
该帧播放的音频源的总数超过 20~30 个时,在移动端可能导致声音丢失或性能下降
如果你听不到声音、某些音效丢失,可以看这里是否AudioSource数量太多 -
Paused Audio Sources:场景中暂停的音频源的总数
-
Audio Clip Count:场景中音频剪辑的总数
-
Audio Voices:项目使用的音频通道(FMOD 通道)的总数
若 AudioSource 多但 Voices 少,说明部分声音被“抢占”或“没被调度”
-
Total Audio CPU:音频使用的 CPU 总量
-
DSP CPU:项目在加载类型为 Compressed In Memory(内存压缩) 的非流式声音的混音、音频效果和解压缩中使用的 CPU 量
这不包括 Unity 在后台对加载类型为 Decompress On Load(加载时解压) 并且选中 Load In Background 标志的声音进行解码所需的 CPU 量
一般 < 10% 属于健康,> 20% 则需排查 -
Streaming CPU:项目在应用程序中流式传输音频所使用的 CPU 量
-
Other CPU:上文未涵盖的常规 CPU 开销
-
Total Audio Memory:项目中音频使用的内存量
持续增长或过大可能是资源未释放,或内存音频太多
-
Streaming File Memory:从磁盘渐进读取加载类型为 Streaming 的音频文件时,音频文件用于短期缓冲已压缩音频数据的内存量。
-
Streaming Decode Memory:加载类型为 Streaming 的音频文件用于缓冲已解码样本流的内存量
-
Sample Sound Memory:加载类型为 Decompress On Load 的音频文件用于已解压缩样本数据的内存量
注意:Unity 汇集了音频系统分配的内存,并且该内存在应用程序的运行时间内一直增长,直到达到饱和。音频系统会在内部重用分配的内存,在运行时无法压缩该内存
-
Other Memory:音频系统中各种子系统造成的开销
-
-
详细(Detailed)视图 中不仅包含 简单(Simple)视图 中的所有信息 还包含音频事件等详细记录

-
上方的几个选项分别代表

- Channels:频道信息
- Groups:分组信息
- Channels and groups:频道和分组信息
- Reset play count on play :当开始运行或链接到新目标设备时,会重置列表中的数字
-
下方详细信息

-
Object:包含播放音频的音频源的游戏对象
-
Asset:相应的游戏对象音频源正在播放的音频资源
-
Volume:音频源应用于音频的音量。
-
VU Level:VU Level 显示的是音频音量电平(音量强度),类似于你在混音器上看到的“音量表”
可用于判断:某个音频是否实际在播放、音量是否被设置为非常低、或是否被静音。为0则表示没有声音输出
-
Audibility:音频播放的实际音量级别。 这是音频源的音量与混音器通道应用的其他衰减量之和
-
Group:该音频所属的 Audio Mixer Group,即 Unity 中音频的混音分组
-
Priority:这是 Unity 用于管理音频播放资源(尤其在移动端设备声道有限的情况下)的播放优先级值(范围 0~256,数值越小表示优先级越高)
如果你发现某些音效“播放失败”或“被打断”,查看是否优先级过低。如果值高于128,容易被系统剔除
-
Playes:Unity 播放音频的次数。
-
Paused:如果音频在此帧中暂停,则显示 YES
-
Muted:如果音频在此帧中已静音,则显示 YES
-
Virtual:如果音频由于达到 Max Real Voice Count(最大真实语音数)而暂停,则显示 YES
其中 Max Real Voice Count 可以设置 Unity 同时播放的音频源的最大数量,可以在音频项目设置 (Audio Project Settings) 中设置此属性
如果此处显示true,则 Unity 会对该帧中具有更高可听度或优先级的其他音频设置更高优先级。
虚拟化后,音频不会被播放
-
OneShot:如果
AudioSource.PlayOneShot()播放了音频,则显示 YES。 -
Looped:如果
AudioSource.Play()播放了音频,则显示 YES。 -
Distance:音频源到音频监听器 (
AudioListener) 的距离。 -
MinDist:音频源曲线编辑器中定义的最小距离。此参数在音频周围定义一个球形区域;在该区域中,音量保持在恒定水平。
-
MaxDist:音频源曲线编辑器中定义的最大距离。此参数在音频周围定义一个球形区域;在该区域外,音量保持在恒定水平。
-
Time:音频播放中的当前相对时间。音频暂停播放时,此时间也会停止。
-
Duration:音频的长度(以秒为单位)。
-
-
Audio 对于我们的意义
音频虽然不像渲染那样直观,但它是游戏体验的重要组成部分,Audio(音频)模块可以让我们:
- 看到当前有哪些声音正在播放
- 明确系统使用了多少音频资源
- 判断音频是否超出平台承受能力
这对音频逻辑正确性、音效设计、平台兼容性都至关重要
我们可以通过它定位音频相关的性能问题
- 声音卡顿、延迟:可以着重查看 DSP CPU 是否过高,音频处理性能不足
- 声音播放失败:检查 Playing Audio Sources(播放音频源)数量,是否达到系统上限
- 音频加载慢:查看 Streaming Load Time(流式加载),确认是否未预加载
- 音频占用太多内存:看 Total Audio Memory 和 Streaming 状态相关,分析未释放的资源
等等
