Does Renoise fully utilize the latest cpu's?

I’m running out of processing power in Renoise so I’m planning to update my ryzen 3600.

I’m trying to decide between 5700x and 5900x. Can Renoise use all of the cores/threads (12/24) on 5900x? If I’m understanding this right, more threads is better than slight increase in clock speed?

probably? i don’t see why not. there is a renoise benchmarking thread

1 Like

Well actually in dsp processing it’s still the single core performance that matters more than core count because multithreading audio processing is hard

1 Like

While renoise says that my cpu usage is around 80%, task manager’s value is around 30%. I’ve been reading about the topic and now understand that the value is not that accurate and that renoise can’t necessarily utilize all cores fully. Problem is that audio also crackles on higher cpu usage.

Any tips on managing cpu load better?

The way Renoise and Task Manager (and generally other system monitoring software) report CPU usage with multiple core is quite different, and for a good reason.

Renoise of course splits the workload to multiple cores, but this is mostly done in just track by track basis. Most of DSP is inherently linear, and as such can only be executed in a single thread, and not split between cores. This implies that if you’re using fewer tracks than your CPU has cores/threads, then the remaining ones are just going to sit idle, because they can’t help with most of the audio processing anyway.

Now, the other thing about CPU usage in this context is that what matters is the slowest thread, or, the track that requires the most processing. Since the CPU must be able to produce new audio buffers at a strict fixed rate, if just one of these threads lags behind, the entire audio is going to suffer. For this reason Renoise and other DAWs effectively report the CPU usage of the worst performing CPU thread. For an example, you might have a track that requires 80% of the time (say, 4ms or the total 5ms buffer length) to produce an audio buffer, but meanwhile in parallel you might have a dozen other tracks that only require 5% of that time. That 80% track is still the weakest link, since that’s what your audio performance hinges on. Conversely, Task Manager will report the average CPU usage between all cores, which will always be at most what Renoise reports, or in most cases much lower.

On my 8 core / 16 thread Ryzen 2700X CPU if I change the thread allocation in Renoise from 16 to 8, or even 16 to 4, there’s rarely any difference in performance or the reported CPU usage. This is because at least in my projects there often are a few channels that dominate in CPU load and more threads are not going to help with that, and at the same time quicker to process tracks are still handled fine by a lower thread count.

When it comes to audio and DSP, single threaded performance is still king, as long as you have enough threads to begin with (8 cores / 16 threads is easily sufficient nowadays for most tasks). I would still consider the higher core count CPUs however, because in addition there being more of them, the cores themselves are also a bit faster.

Regarding managing CPU usage, try to not put too much load on your groups and buses, including the master bus, at least not up front, and leave things like “mastering” preferably at the end once you’re ready to export. Also track freezing would be really helpful of course, but sadly Renoise doesn’t support this natively, and the workarounds and tools for this are still really poor.

5 Likes

Thank you for writing this out! This is really useful information. I’m constantly bumping up against the limitations of my CPU. I also didn’t understand why a single plugin could spike CPU so much when placed on a group.

How do send tracks interact with this? Will they have a similar effect to groups/buses? If I had a track with, say, 10 plugins, could I break it out into 2 tracks using a send, so each thread would only have to process 5 plugins? I also wonder how instrument FX chains factor into this.

I tend to have a dozen tracks with barely any plugins and 2 tracks with ~20-30 plugins each. No wonder I’m getting so many CPU overload messages from Renoise.

Have you tried increasing the buffer size of your audio interface?

512 is as high as I can go without pops and crackles. But yes, a larger buffer size did help when I was using 128 or 256 in the past.

@noby already nailed it with his post explaining why an increased core count will not scale well (actually very bad) with realtime audio performance. In most real-world song projects, four cores are the most renoise can use in a meaningful way.

From my experience and comparisons the most capable CPU for renoise (and RT audio in general) would be Intel’s 12th gen (alder lake) and/or it’s soon to be released 13th gen (raptor lake) successor.

As i own a ryzen 3600 in my ITX build and a 12900K in my main system, i posted a comparison in the benchmark thread:

(click the arrow button to expand the preview, or it will look like a mess)

In conclusion, a 12900K would be more than twice as fast as your current CPU.

2 Likes

Much thanks for the answer! Very solid explanation.

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.