Low CPU usage - 7820X 64gb ram ASIO support

This is an excellent question and one that’s wroth answering fully.

The problem is that your CPU capacity actually means a few things thrown together. Firstly, it’s going to be the aggregated sum of all your CPUs. Sonic Pi has a number of different components all which can run independently on different CPUs. However the sound synthesiser which generates the audio can only run on one of them. Therefore, if you have 8 CPUs offering 16 logical threads, then the max that the synthesis part of Sonic Pi can use is 100 / 16 = 6.25% of your capacity.

Sadly, things get even more tricky than this.

Typically that 6.25% maxing out is with respect to fully throughput. If the work was a stream, it would be about how much water flows through per unit of time. However, music is not about throughput, it’s about timing. If the CPU gets stuck for a small amount of time working on a burst of work, then that delay typically doesn’t matter too much to you. However, for music that means that the next bit of work (e.g. playing a drum) will be late and out of time.

This means that if a sudden chunk of CPU work blocks the program from working for a bit this can cause timing issues. Note that this chunk of activity might not even register much on a CPU monitor because it might have been in a fairly small period of time - yet still long enough to interfere with timing.

Also, different CPUs and firmware options can be very aggressive about saving energy. This is often achieved by switching CPUs on and off and doing short bursts of work. This might be fine for achieving a decent throughput of activity but doesn’t play well at all with sensitive timing systems like Sonic Pi. This affects laptop users particularly and we’ve noticed people getting better results by disabling any energy saving preferences whilst using the app.

I hope that this helps a little.

3 Likes