A Unity ID allows you to buy and/or subscribe to Unity products and services, shop in the Asset Store and participate
in the Unity community.
Discussion in 'Audio & Video' started by laurentlavigne, Jul 25, 2020.
it's much easier to do math on when releasing for multiple platforms
Hi Laurent, these values come directly from the FMOD middleware and are just based on timestamps for the calculations happening on the different threads tasked with mixing, streaming and a little bit of bookkeeping on the main thread. So the most relevant thing for typical applications is the latter, which you see as "Other CPU", as that's a measure for the time spent on the main thread. You can get far more precise numbers in the Timeline view of the CPU Usage pane in the Profiler window -- here you'll see exact timings in the "Main Thread" row represented by AudioManager.Update and SoundManager.Update. You can also see what the two asynchronous mixer and streaming threads are doing in the "Audio" row. This window lets you zoom out and actually see how this fits in with the rest of the threads. When you zoom out you see the audio updates are repeated blocks. Here it's important to note that different platforms use different mixing buffer sizes for the audio processing, so this affects what the percentage of a given audio task actually is, as shown by the "DSP CPU" number. This is incorporated into the percentages, whereas with raw ms readings you need to hold it up against the current buffersize. But I agree -- Total Audio CPU is a bit of a strange number that doesn't tell much on its own being just the sum of DSP, Streaming and Other.
yes I'm fine with the stats we get, it's the unit I'd like changed to ms. for you that's 1 line of code, for me it's looking at the cpu tab, writing down the ms of the cpu usage (assuming that cpu% is % of the currently used cpu ms in the main thread...), audio%*ms.