Wwise Unity Integration

目录

对压缩数据进行解码

性能优化通常会放在游戏制作后期实施,不过这一流程还是非常重要的。因为,假如游戏由于帧率问题而频繁卡顿,整体体验将会受到很大的影响。无论在任何游戏当中,都会运行大量的处理任务,其中就包括解压 Vorbis 编码媒体。为此,我们可以使用 AkBank 组件中提供的 Decode compressed data 功能,来减轻解压 Vorbis 编码媒体时的处理负荷。

这样的话可以在加载 SoundBank(音频包)时对 Vorbis 编码媒体进行解码,下次游戏发送同样的 Event(事件)时就不会占用额外的处理资源了。与不选中此选项相比,此选项会增大 SoundBank 在内存中的大小,跟原先使用 PCM 编码差不多。那么,为什么不从一开始就对 PCM 进行编码呢?比如,对于可下载游戏,我们一般需要将 SoundBank 压缩得很小以便分发,然后在游戏加载时再对 SoundBank 进行解码。在转码后,可在 SoundBank Manager(音频包管理器)中查看解码后 SoundBank 大小的估值。

从上图可以看到,Dungeon SoundBank 是 Region 中解码前后数据大小变化最明显的。为此,我们来设置此 SoundBank 并进行解压,看看有什么区别。接下来,我们首先在解压前察看内存中的数据大小,然后启用 Decode compressed data 选项,来对比一下数据大小的差异。

  1. 在 Unity 菜单栏中,依次转到 Audiokinetic > Certification > 301 > Lesson 3,然后选择 Decompressing SoundBanks

    在将 SoundBank 设为对压缩数据进行解码之前,我们来分析一下当前的内存用量。

  2. 在 Wwise 中,单击 Remote...(远程...)。

  3. 在 Remote Connections(远程连接)窗口中,选中 Wwise Adventure Game (Editor),然后单击 Connect(连接)。

  4. 在 Unity 中,单击 Play

    在游戏完成初始化后,可再次单击 Play 按钮退出 Play 模式。

  5. 按下 ESC 打开《WAG》游戏菜单,然后再次单击 Play 按钮退出 Play 模式。

  6. 在 Wwise 菜单栏中,转到 Layouts(布局),然后选择 Profiler(性能分析器)。

  7. 在 Advanced Profiler(高级性能分析器)中,选中 SoundBanks(音频包)选项卡。

  8. 在 Performance Monitor(性能监控器)中,将时间光标往回拖动几秒。

    我们注意到,Dungeon SoundBank 的内存用量约为 2.4 MB。

    接下来,我们在加载 SoundBank 时对其进行解码。Dungeon SoundBank 可在 L3_2 - Dungeon Audio Environment 场景中的 Wwise 游戏对象上找到。

  9. 在 Unity 的 Hierarchy 中,转到 L3_2 - Dungeon Audio Environment 场景,然后选中 Wwise 游戏对象。

  10. 在 Inspector 的 AkBank 组件中,选中 Decode compressed data

    这时将启用 Decode compressed data 选项。在该选项之下,确保禁用 Save decoded bank 参数。在对 SoundBank 进行解码时,会将解码数据转存到内存中。

    [备注]

    Decode compressed data 选项只能解码 SoundBank 中设为 Vorbis 或 Opus 格式的 Audio Source。因此,该选项并不会影响不含任何 Vorbis 编码媒体的 SoundBank。有关详细信息,请参阅在 Inspector 中使用 AkBank

  11. 单击 Play

  12. 在 Wwise 中,确保仍处于连接状态。否则,请单击 Reconnect(重新连接)。

    我们注意到,在 Advanced Profiler 的 Memory 选项卡中,Name(名称)列不再显示 Dungeon SoundBank。

    这是因为解压了。SoundBank 会使用更多内存,但可避免占用 CPU 资源来对 Vorbis 和 Opus 编码媒体进行解码,从而确保为玩家提供更加流畅的游戏体验。


此页面对您是否有帮助?