Rendering - only up to 50% cpu usage in OS?


I’ve come up with a strange obervation. When I render my songs (I usually do in 192k), they only seem to use up to 50% or close to when I look at my system monitor. renoise itself ofc shows 99.9% in its monitor while stuff is rendering. Yes, the PC/OS has capability of running 100%. It is a 6-core xeon, and I have disabled hyperthreading.

At first I thought it is maybe because renoise cannot spread the project’s cpu load to use 100% all the time, but now for so many tracks I’m working on with many tracks/instruments, more than 3, I’ve found they all seem to only use up to 40-50% cpu while rendering. Load seems to be spread along the 6 cores more or less evenly. Maybe there is a bug involved keeping renoise from using full throttle? I would have supposed, in rendering mode renoise could use as much cpu power as it wanted, because it doesn’t have to be in sync with a clock?

It is renoise 3.1.1 on an ubuntu system, using only native instruments and effects.

I can reproduce this, kde neon renoise 3.1.1,using only native instruments and effects.

Very strange, I would expect, and want, it to use as much as it reasonably can.

I’ve noticed this with ardour as well so I wonder if it’s jack?

Are you using an SSD?

I’ve come across a few threads about this, they mention a couple of avenues of investigation.

I’m wondering if it’s a scheduler issue. I not running an SSD but it seems odd to me that the hard drive would be too slow to write what the export is producing. I might give it a try without jack, just alsa and see if that does the same thing.

I do not think hd bandwidth be the problem, it also happens for me for 44.1 renders with the same throtteling. Also renoise has all the song data in ram, it only needs to write the resulting .wav to disk.

I think I’ve already also tried in pure alsa mode, and had the same result, but I’ll try again during the next days. maybe with different synthetic multicore usage scenarios, like for example putting all cores to 80% in live mode with the same instru 6 times, then looking at the rendering performance.

My system is tuned to jack and renoise can use sched_rr and sched_fifo with the nessecary privileges.

in alsa mode seems the same game, maybe even worse.

Do you have anything on the master track (especially third-party plugins?) I’m not sure how Renoise works but I’ve read that audio engines typically work on a “one audio path per core” approach. If you have plugins on master then everything has to go through that one path, instead of multiple paths being summed together at the end.

That’s just a weak hypothesis based on some general understanding of audio applications.

Couldn’t this be simply because you disabled hyperthreading? What happens if you enable it, and btw. why did you disable it?

I disabled it, still my machine has 6 full cores, and uses only ~40% of those ressources while rendering.

But maybe I’ve been too rash…I use a lot of sends and also multiband compression with one send per channel, premaster sends etc… maybe it is really that my project kind of has a fat head that can only run on one core at a time for the end of each audio chunk.

When I find time I will try to generate some synthetic benchmark to see how rendering goes without all the send channels but just tracks with 6 cpu heavy renoise native instruments in parallel. Then we’ll see.