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.
We then 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:
Then windows will on its Windows Task Manager CPU 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.