Version
menu_open

Setting the Size of Your Memory Pools

The default size of the internal memory pools of the sound engine are very large only to ensure that when you try the sound engine for the first time, it has enough resources to run your worst-case scenario.

The default size for each pool is actually:

  • 16 MB for the default memory pool

  • 16 MB for the lower engine memory pool

[Note] Note

If the sample code is used to integrate the streaming manager, 8 MB are also allocated for the streaming buffers.

The size of the default memory pool will ultimately depend on the type of game you are creating. For example, if your game has gigabytes of audio assets, but rarely plays more than four or five sounds at a time, with no or few effects, then the memory requirements of the default memory pool may be larger, but the requirements of the lower engine memory pool may be smaller. If, on the other hand, your game has few sounds, but plays them all simultaneously with lots of reverb, echo, and other environmental effects, like in a first-person shooter, then the memory requirements of the default memory pool may be smaller, but the requirements of the lower engine memory pool may be larger.

The size of the lower engine memory pool will ultimately depend on what you plan to do with the sound engine. If your game will play a lot of voices simultaneously and will be processing a large number of effects, then you will need more memory in this pool.

[Note] Note
This includes virtual voices too!

On the PC, with no banks loaded or sounds playing, the amount of memory used should be around 150kB. You can see the exact amount in Wwise, by switching to the Profiler layout and looking at the Total Used Memory value in the Performance Monitor. This value will obviously go up with the number of assets loaded, voices playing, game object positions, and so on.

The required size of your memory pools will depend on a number of different factors, including the quality of your audio, the number of sounds loaded, the number of voices playing simultaneously, the complexity of your sound structures, the encoding method chosen, the type and number of effects that require processing, the number of 3D positioned sounds, Switches, and so on.

The only reliable way to know how much memory is required is to do the following:

  • Assign an arbitrary amount of memory to the pools. If you can, start by using the default memory sizes.

  • Connect Wwise to your game.

  • Run a busy game scenario with the Profile version of the sound engine.

  • Look at the Memory tab of the Advanced Profiler. The Peak Used column should give you a good indication of what the pool sizes should be. Typically, the optimal size for each pool is 15-20% above the peak memory usage value.

  • Subtract the size of the Communications, Monitor, and Monitor Queue memory pools. These pools contain debug-only allocations which are not created in the Release version. Subtracting the size of these pools should give you a good idea of the release-version memory usage.

[Note] Note

You can also profile sound engine memory usage without connecting to a game. Simply start a capture session and then play one or more Events and/or objects in the Transport Control or Soundcaster. The amount of memory used to play these Events and/or objects will be displayed in the Memory tab of the Advanced Profiler.


Was this page helpful?

Need Support?

Questions? Problems? Need more info? Contact us, and we can help!

Visit our Support page

Tell us about your project. We're here to help.

Register your project and we'll help you get started with no strings attached!

Get started with Wwise