声音引擎内存池的默认大小非常大,这是为了确保您首次使用时有足够资源来应对最坏的运行情况。
每个池的默认大小是:
16MB Default memory pool(默认内存池)
16MB Lower engine memory pool(底层引擎内存池)
注意 | |
---|---|
如果集成 Streaming Manager(流播放管理器)时使用了示例代码,还会为流播放 Buffer(缓冲区)分配 8 MB 内存。 |
默认内存池的大小最终应取决于您的游戏类型。例如,如果游戏中有几个 G 的音频素材,但超过 4 或 5 个声音同时播放的情况并不多,而且未使用效果器(或很少),那么可能会要求默认内存池较大,而仅需较小的底层引擎内存池。相比之下,如果游戏中声音较少但需同时播放所有声音,且包含很多 Reverb(混响)、Delay(延迟)和其它环境效果(如第一人称射击游戏),那么可能会要求默认内存池较小,但底层引擎内存池较大。
底层引擎内存池的大小最终应取决于您希望声音引擎进行多少处理。如果游戏要同时播放大量声音和处理很多效果,就需要该内存池提供更多内存。
注意 | |
---|---|
这里也包括 Virtual Voice(虚声部)数量! |
在 PC 上,不加载音频包也不播放声音时,需要使用约 150kB 内存。您可以在 Wwise 中查看确切内存量,只需切换至 Profiler 布局,并在 Performance Monitor(性能监视器)中查看 Total Used Memory(总内存占用)值。当已加载资源数量、播放声部、游戏对象位置数量增加,该值将显著增长,
所需的内存池大小应取决于:音频品质、加载声音数量、同时播放声部数量、声音结构的复杂性、编码方式、需处理的效果器类型和数量、3D 定位声音数量、切换开关数量等。
内存需求量的唯一可靠获取方式如下:
为各内存池分配任意大小的内存。如果可以,一开始请使用默认内存大小。
将 Wwise 连接至游戏。
使用声音引擎的 Profile(调试)版本,运行游戏中声音最复杂的场景。
查看 Advanced Profiler(高级性能分析器)中的 Memory(内存)选项卡。Peak Used(用量峰值)一栏将提示您需要多大的内存池。通常情况下,各内存池的最优大小应超出内存占用峰值的 15-20%。
请刨除 Communications(通信)、Monitor(监控)和 Monitor Queue(监控)内存池的大小。其中是针对调试分配的内存,而 Release(发布)版本中不会分配。刨去这些内存池大小,即可估算 Release 版本内存占用。
注意 | |
---|---|
无需连接至游戏也可以获取声音引擎的内存占用,只需启动捕获会话,然后在 Transport Control(播放控制)或 Soundcaster(声音选角器)中播放若干个事件或对象。播放所用的内存大小将显示在 Advanced Profiler 的 Memory 选项卡中。 |