Table of Contents

Wwise SDK 2019.2.3
Memory Manager

All modules of the Wwise sound engine access memory through the AK::MemoryMgr interface. The client of the sound engine is responsible for initializing and terminating this interface.

A default implementation is provided with the SDK as a static library (AkMemoryMgr.lib). To use this library, the client needs to include the AkModule.h header, and call the AK::MemoryMgr::Init initialization function.

Refer to Build Configuration for more information regarding the usage of AkMemoryMgr.lib and other libraries.

Initialization

In the default implementation, default initialization settings can be obtained using AK::MemoryMgr::GetDefaultSettings.

Use the following setting to limit the total amount of virtual and device memory allocated by the Memory Manager:

Use the following settings to perform tracking of allocations for debugging purposes (these will not be called in the Release configuration):

Note: Note that the debug functions above do not replace the actual allocation functions below; you can think of them as notification callbacks for the various memory allocation events.

Use the following settings to override the default implementation's use of rpmalloc with a custom allocator:

Use the following settings to override the page allocation mechanism underlying rpmalloc:

Refer to Samples for sample code and more information regarding the initialization of the Memory Manager in your game.

Refer to Loading Banks for more information regarding SoundBank memory usage.

Refer to Optimizing Memory Allocation for information about optimizing memory allocation.

Overriding the memory manager

It is possible for a client to provide a custom implementation of the AK::MemoryMgr interface. All functions defined in AkMemoryMgr.h should be implemented. The functions from the AK::MemoryMgr namespace defined in AkModule.h do not need to be implemented as they are specific to the default implementation of the memory manager.