Axıs
技能目录

参考 07:平台差异、性能预算与编解码

参考 07:平台差异、性能预算与编解码

1. 平台差异速查

平台 输出格式 空间音频 关键约束
PS5 Tempest 3D AudioTech(硬件加速) Object-based + HRTF 需按 Sony 规范;认证对响度/声道严格
Xbox Series Windows Sonic / Dolby Atmos / DTS:X 用户可选 支持硬件解码 XMA
Switch 立体声 / 5.1 虚拟 有限 HRTF 内存最紧,CPU 弱,编解码用 Opus/ADPCM
PC (Steam) 用户设备决定 Steam Audio / Sonic / Atmos 设备差异最大,必须做多设备测试
iOS / Android 立体声为主 轻量 HRTF 延迟敏感;蓝牙耳机延迟 100–300ms 需补偿
VR (Quest / PSVR2) HRTF 必开 Ambisonics + 头部追踪 延迟 > 20ms 破坏沉浸;帧率优先
Web / 小游戏 立体声 Web Audio API 需用户手势解锁音频;包体极小

2. 音频内存预算

平台 常驻音频内存 单关卡 总包体(压缩后)
主机 / PC(3A) 40–80 MB 20–40 MB 500 MB–2 GB
主机 / PC(中型) 20–40 MB 10–20 MB 100–300 MB
移动端(中端) 12–25 MB 5–12 MB 30–80 MB
Switch 20–30 MB 8–15 MB 50–120 MB

分配建议(以 40MB 预算为例):

常驻通用(UI + 玩家角色 + 通用反馈)   8 MB
环境音(当前场景)                      6 MB
音乐(Stream,不计入常驻内存)           —
语音(按语言 Stream)                    —
武器 / 敌人 / 载具(按关卡加载)        20 MB
余量                                    6 MB

3. CPU 预算

指标 主机 / PC 移动端 VR
音频线程每帧耗时 ≤ 2 ms ≤ 1.5 ms ≤ 1 ms
占总帧时间比例 ≤ 8% ≤ 10% ≤ 6%
并发发声(真实 voice) 96–128 24–32 48–64
效果器实例(混响等) ≤ 12 ≤ 4 ≤ 6
音频更新线程数 1(独立线程) 1 1(高优先级)

CPU 大头排序:卷积混响 > 颗粒合成 > HRTF 空间化 > 压缩/失真 > EQ > 播放 → 优化顺序:先砍卷积混响数量(改用算法混响),再降 HRTF 质量阶数。

4. 编解码选型

格式 压缩比 CPU 开销 适用
PCM (WAV) 1:1 极低 极短音效(< 1s)、UI、需精确循环起点
ADPCM (IMA4) 4:1 低 短 SFX(1–5s),移动端首选,无解码延迟
Vorbis (.ogg) 4–12:1 中 音乐、中长 SFX、PC/主机常用
Opus 6–20:1 中 语音、移动端、网络传输,低延迟
AAC / HE-AAC 10–20:1 中 iOS 生态、流媒体
平台原生 (XMA / ATRAC9 / AT9) 4–16:1 极低(硬件解码) 主机平台优先,能省 CPU

决策树:

时长 < 1s            → PCM / ADPCM
时长 1–5s, 高频播放   → ADPCM(移动) / Vorbis(PC主机)
时长 5–30s           → Vorbis + Stream
时长 > 30s / 音乐     → Vorbis/Opus + Stream(必选)
语音                 → Opus + Stream
主机平台             → 优先用平台原生编码(硬件解码)

5. Stream vs In-Memory

判据 选择
时长 > 10s Stream
压缩后 > 500KB Stream
播放频繁(每秒多次,如脚步) In-Memory(避免 I/O 卡顿)
需要极短延迟(武器、UI) In-Memory
音乐 / 长环境音 Stream(+ 预读缓冲)

注意:

  • Stream 需要 预读缓冲,切换时要异步加载,否则首播卡顿
  • 移动端 Stream 会持续耗电与带宽,移动端音乐建议也部分常驻
  • 同一时刻 Stream 数量限制:主机 ≤ 8,移动 ≤ 2–4

6. 延迟(Latency)

来源 典型值 对策
引擎音频缓冲 5–20 ms 低延迟模式(增大 CPU 占用)
中间件 DSP 1–5 ms 减少串行效果器
蓝牙耳机 100–300 ms 移动端音游/节奏类需提供"延迟校准"选项
系统混音 10–40 ms 不可控

交互音延迟红线:点击 UI 到听到声音 ≤ 50ms,否则玩家会觉得"卡"。 节奏类游戏:必须做延迟校准(玩家手动校准 offset)。

7. 性能优化清单

  • 所有 3D 音设置 Max Distance(最重要的单项优化)
  • 关闭听不见的声源:距离、遮挡、音量阈值(-60dB)三重剔除
  • Voice Limit 按类设置,优先级排序正确
  • 启用 Virtual Voice(而非直接 Kill,除非一次性音)
  • 卷积混响数量 ≤ 2,其余用算法混响
  • 高频播放的音效(脚步)用 ADPCM 并常驻内存
  • 移除所有 HPF 以下的无用低频(省 CPU 且更干净)
  • 随机容器(Random Container)不要一次加载全部变体到内存
  • 避免每帧 Post Event,加状态判断与节流
  • Bank 按关卡分包并正确卸载
  • 用中间件 Profiler 跑最坏场景(大规模战斗)测峰值

8. 最坏场景测试(Worst Case)

必须构造并测量的场景:

  1. 最大规模战斗:N 个敌人同时开火 + 爆炸 + 音乐 + VO
  2. 快速场景切换:连续切 10 次关卡,检查 Bank 泄漏
  3. 长时间挂机:跑 2–4 小时,检查内存增长(泄漏)
  4. 暂停 / 切后台 / 恢复:检查声音是否正确恢复
  5. 设备插拔:拔插耳机、切换蓝牙,检查输出路由
  6. 多语言切换:检查 VO Bank 卸载干净

9. 平台认证要点

平台 音频相关认证项
Sony (PS5) 响度规范、声道配置、Tempest 兼容、无爆音、TRC 相关音频条目
Microsoft (Xbox) XR 音频规范、响度、Dolby 授权合规
Nintendo 响度上限、声道、内存上限、无 clipping
Apple (iOS) 后台音频行为、静音开关行为、音频会话类别
Google (Android) 音频焦点(Audio Focus)处理、来电中断恢复

通用红线:游戏中任何时刻不得出现削波(clipping)、爆音(click/pop)、静默死区(音频卡死)。