I’m working for a 3d game in unity and am currently trying to wrap my head around performance… especially ram usage. I have around 260 mo of ram usage 60 for sample and 200 for data.
I have 2 main types of events, sound emitters on prefabs of the map and 2d “global events” which play non stop and switch music and 2d ambience based on a zone parameter.
I suspected the high usage is because I have too many emitters loaded on the map but even when I disable all the emiter I get around 150mo of data usage only for the global 2d events…
Is it because my events are too “heavy” (they use a lot of nested events, global parameters, different mixer groups etc). Or is it something in particular I missed that consume a lot of ram ?
Does using one “main” event for all the ambiance / music of a game is considered “bad practice” ?
It look like the convolution reverb I have on the mixer use 30mo of data even when unused too.
I will link to our documentation which touches on memory management: FMOD API | White Papers - Memory Management.
FMOD is designed to handle large amounts of Emitters through our Virtual Voice system outlined here: FMOD API | White Papers - Virtual Voices.
Could I get a screenshot of this reverb in your mixer?
If there are any effects that are not modulating and/or changing in real-time, it could help to bake those effects into the sound files in an external DAW.
The events are currently rather complex but nothing too insane.
hope this helps!
Hi thanks for the quick reply.
this is the mixer convolution reverb (I forgot it has a delay too)
The mixer have quite a lot of groups too… but not much processing in theses
The global events have some processing inside them
-2 simple reverb
-8 eq (mostly dynamic filtering for wind and water)
Does the nested events cause to double the data when placing this way in a parameter sheet ?
PS: I just noticed I leaved the impulse response as a 192khz file so maybe that was linked !
so I did more profiling… the convolution reverb used still 30mo BUT when I removed and add it again the ram usage lowered to 9mo… I’m not sure what happened but it seems to stay like that.
Even when playing 0 events I have around 47mo of ram usage… is this expected behaviour ?
No, it is the same as playing two individual events.
The amount can be affected by how much memory is being assigned when initializing the system, explained here: FMOD API | White Papers - Memory Management. Yes, it is expected behaviour for some memory to be used even when there are no events playing.