I’m wondering what the difference between the orange and blue areas of an Event Instance in the Profiler are? The orange seems to correspond to the lifespan of the event, so I guess I’m more interested in what the blue means. Is that the Event Instance being virtualized? If so, does the accumulation have any impact on performance?
Looking at your screenshot, I see that the profiler is in Instances (Self) mode. In this mode, the orange graphs indicate the number of playing event instances, while the blue graphs indicate the total number of event instances including both playing instances and virtualized instances. For more information about what specific graphs indicate, see the Reading a Recorded Session section of the Profiling chapter of the FMOD Studio User Manual.
FMOD Studio continues to update the parameter and property values of virtualized event instances so that they can resume playing if and when they’re un-virtualized, so virtualized event instances do consume some resources. However, they are excluded from the mix, and do not play any sample data, so the amount of resources they consume is substantially less than what playing events require.
If you’re looking for a cheaper alternative, the “quietest” stealing behavior behaves much like the “virtualize” behavior, but stops and releases stolen event instances instead of virtualizing them. Released instances consume no resources, so it may be preferable to “virtualize” in some cases.
The decision of whether to use “virtualize” or “quietest” stealing behavior generally comes down to whether you want stolen instances to resume playing on their own if they become audible again: A virtualized instance can and will; a stopped instance can’t and won’t.
There are circumstances where I am stealing the furthest voices, but I also see this behavior on events that are set to infinite instances. In a few of those cases, the devs used create instance, instead of one-shot, and they aren’t releasing the events. This information will help me explain why the coding should be refactored, or at the least, they should release the events.