My question is related to how does the Track system work in general.
I’ve read few posts, documentation, and even asked ChatGPT, but I’m not 100% sure how it works.
1.) What’s the best number of real and virtual tracks to set? (We are aiming for Gaming PC and latest-gen Consoles)
2.) What’s going on when we set more tracks? Does it use more memory/CPU of the box? Or does it only use those resources when needed?
3.) What’s using Tracks, and how can we know how many tracks were used and for what? Does one event use one Track, or can a single event use multiple Tracks?
We had some problems where sounds would get muted for a while if there was a lot of action. (Many events at once)
I think that increasing the number of real tracks from default 32 to 64, and virtual from 128 to 256 fixed the problem.
Thank you!
To answer your last question first:
“Tracks” don’t have limits in FMOD. FMOD keeps track of and limits “channels”, which correspond to “voices” in FMOD Studio. A voice/channel is anything that is producing a signal, such as an asset being played or generated by a DSP. A “track” in FMOD Studio corresponds to a “Channel Group” in the FMOD Core API.
As for event tracks, each audio track in an event corresponds to a single Channel Group, and all audio tracks route into an event’s master track.
If you want detailed information on the amount of voices used by events your FMOD system, you can connect to your game via live update and record a profiler session - I’d recommend reading over the FMOD Studio user manual chapter on Profiling for more information.
I can’t be a great judge of that, as it’s very dependent on your project and game. While we do have performance references per platform in our documentation, ultimately you’re the best person to make an accurate judgement on what the appropriate limits are for your game.
Increasing the channel count increases the maximum number of channels allowed at any one time - it doesn’t incur more overhead until the number of channels would be larger than a lower channel count setting would allow.
Let me know if you have any further questions.