The Pyramix CPU reading
The CPU load displayed in the Pyramix bottom bar is not the CPU usage as computed in Windows task manager .
CPU load in Native is computed in this way: (time to process audio frame) / (duration of one frame) * 100.
Thus, it is the percentage of time used to process in one audio frame duration ; this indicator is more useful than CPU Usage because it takes in account CPU stall during processing time.
(In MassCore based systems the CPU load indicator is supplemented by a VST: core load indicator in the Title Bar)
The Plugins Distribution Core Reading (since Pyramix 25th anniversary)
We measure the time duration of the plugin itself. Time to process Audio Frame / Duration of the plugin itself * 100 = Load for a single plugin.
Then compute the multiple plugins (on a chosen Strip or Bus by example) and we calculate the summation of those.
This is why there is a difference between the Pyramix CPU vs. Plugins Distribution Core loads.
Plus, the CPU also includes other tasks calculated inside those frames (example Plugin Distribution engine).
Windows CPU readings
Windows Task Manager measures the CPU time as a percentage of the CPU's capacity.
The CPU (each core) has 3 general states :
- In-process. Some thread in the system, whether kernel or user, is running on it. The time spent in this state is always counted as used.
- Context-switching. This time may either be considered usage or not be counted at all. Usually it is small enough to be ignored.
- Idling. The CPU is in the context of the System Idle Process and is essentially “resting”. This time is always counted as idle time.