Things that I DO NOT understand in 2019 (CPU use)

Hi guys,

Being a user of different DAWs, and being Nuendo/Cubase my main DAW, there are some things that I do not understand, like the way that Cubendo balances CPU. I’m having CPU spikes with my 10 cores machine using half of the power available.

Sad but true.

Regards.

The ASIO audio engine usage is different than CPU usage - you’ll get spikes when you’re trying to get the Audio Engine to process audio faster than what it can manage, a single core only has to bottleneck to cause that for example, or your buffers are just too low to allow room for ASIO to work.

But yes, on Mac i’ve noticed that generally multi-core performance is quite lacking vs something like Logic. But i’ve moved to a Windows based machine with far more power now.

Are you utilising FX busses and processing in parallel or do you have many inserts on single tracks? I’m not 100% sure how Cubase/Nuendo distributes CPU/ASIO performance, but many DAWs can only process a tracks total processing within the one CPU thread/core - so even if you had 32 cores, if you’re maxing one out you’ll get spikes.

Hi,

Yes, I use parallel busses, but I don’t have a enormous amount of plugins, to be honest. I think that Steinberg should rethink about this CPU issue.

1 Like

I’m having these spikes aswell on win10. Did not have them on N8 or previous. Mostly happens when input monitoring is on with somerhing like amp plug in on the track. Makes recording very exciting :confused:

I know that Steinberg did tweak multi-core thread assignments on the latest versions of Cubendo, but you’re on a Mac so perhaps that doesn’t apply (?).

Also, I see a bunch of “Idle Wake Ups”, and I can’t help but wonder if it’s a power management issue at play (i.e. cores going to sleep and then you get drop outs when they resume from idle).

At any rate I just intuitively feel that a lot of users get a lot out of the software, so it seems it’d likely be setup-specific as well. Not sure how ‘we’ can help troubleshooting without getting full system and setup specs… if you want help with it that is…

Apple owns Logic, the computer hardware and the OS. The perfect trifecta for development. Logic is also Mac only, saving resources that would be needed to develop compatibility for other platforms.

Yet, for years, Logic’s multicore performance with audio and especially with multiple virtual instruments pretty much sucked. Every serious pro I know (and that’s a lot) ended up using VEP for their virtual instruments on Logic because the Logic audio engine was notoriously bad at taking advantage of multicore CPUs. Any DAW’s audio engine is far more sensitive to system inefficiencies or poorly behaved hardware/drivers than any other class of app will be.Eventually, Apple addressing the issue and Logic is much improved in that are these days.

For the reasons stated above, Logic SHOULD be the most efficient DAW in the world since no other DAW developer has nearly as many advantages, yet still was slow to mature in multicore efficiency. That said, Cubendo runs well on PCs with lots of CPU cores. Seems like it might be harder for developers to keep up with the endless succession of OSX changes? Apparently, Apple is not very concerned with ease of migration and backward compatibility within their OS. Much like they are obviously not concerned with adding/deleting hardware (ports and such) that requires end users to jump through hoops and buy all manner of adapters. Seems like a corporate theme, does it not?



(patiently awaiting the blowback from above post)

I think it very much depends on the AU versions of certain instruments, you probably know a lot of orchestral users using the same plugins perhaps?. Because, For me the opposite is true of Logic, many people i know won’t leave the DAW as it’s so CPU efficient, the general (external?) view of Mac users is that Cubase/Nuendo are CPU hogs - but i think much comes down to understand how best to optimise each, maybe?

Many years ago multicore in Logic was sketchy, i had a 2010 12 Core Mac Pro and i remember it not utilising them all with Logic correctly at first, but the move to LPX and 64 bit things really started to click. I do miss Logic’s CPU efficiency vs Cubase/Nuendo - but there’s so much else to love creatively AND i’ve moved to a windows based platform so additional power is much easier to attain now.

The truth is the Cubendo’s CPU performance match almost every DAW that I’ve tried, the problem is how it manages plugins, tracks and so on.

Nowadays I’m dealing with a 1000 tracks mix and Nuendo needs almost 10 seconds to assign a bus or send, and I have some lag with low cpu operations. I’m not even using a large amount of plugins. As a pro, we need professional tools and Nuendo needs to get some improvements from the competitors. For instance, the way that Studio One deals with latency is amazing, Pro Tools audio RAM caching too, DP multi cue in the same project is great, Reaper’s possibilities of customization and external control is over the abandoned Nuendo’s Generic Controller options, Bitwig Studio’s plugin crash protection, and so on.

Nuendo 10 is my preferred tool, but is far to be perfect and it’s not that hard to get the best from the others and make version 10.5 revolutionary.

Oh, okay, great that you helped me understand that; I was sort of lost as well since I’ve recently gotten a Macbook laptop without being familiar with Apple products…

Just a question in this context: Is it correct to say, that increasing the ASIO buffer size happens at the cost of increasing latency?

Yes.

Well, I’m going to try a workaround: if Nuendo is not able to use the full potential of my computer, I’m gonna use Vienna Ensemble as FX server.

Antonio, I know you’re going to try to find a workaround, but just a question before you do; have you tried this many tracks in another DAW with similar routing and with better results in cases like the above?

The reason I’m asking is because it seems like if it takes 10 seconds to assign a bus/send - I guess to just change routing - then it really seems like this isn’t a buffer issue or a playback issue, but perhaps something more basic or “deeper”. To me it intuitively says ‘overheated’ CPU or something like that… or poor coding (hope not).

So it would be interesting to see how your computer does with another DAW. And on that note you might consider just running a stress test on the computer just to see how it does in general. If you run something like a PI calculation and the score is way below what your type of computer should score then something could be up with the computer in general.

Over the years I’ve seen a bunch of small things limiting performance, things that I didn’t think would happen or would have an impact. I once had a file server I built have extremely poor performance despite being a dual CPU setup. Turned out the fins on the CPU fans were completely covered in a layer of dust. As soon as that dust was removed it was back to normal. I.e. overheating was the problem. The layer of dust was so flat that it took me several seconds to understand it was what it was and not something else…

Anyway, just trying to throw things out there that you can try before giving up on this. 10 cores should give you a decent amount of performance.

PS: Oh, and I would still look into if there’s an issue with power management and cores returning from idle…

I tweeked power settings and bios and now my system isn’t peaking anymore.

Load intel XTU (Extreme Tuning Utility). Click the tiny spanner top right off the bottom right display, make sure you can see the relevant parts by activating them. Run a test in Benchmark

Is your CPU staying locked to it’s highest possible speed?

Go in bios and DISABLE C STATE. For more performance try OC to permanent full turbo.

You might be getting throttling… The CPU will step down even though you have high performance activated.
Thermal if you’ve managed OC into turbo but cooling isn’t adequate.
Current if you’ve managed OC into turbo but current limits are set too low.

My motherboard (I cheaped out here) was current throttling, creating CPU voltage drop every time it happened. We can throw more voltage at the CPU but this will mean higher fan noise due to the extra heat. We need the voltage to be as low as possible without crashing. A CPU underload naturally drops in voltage, VDROOP, LLC (Load Line Calibration) are voltage increase curves designed to offset this, select the one that keeps your voltage stable. Current throttling is an issue as LLC won’t fix the short sudden drop in voltage that it causes.

Messing with current settings is another post (but increasing ICCMAX usually does it), if you don’t want to do that, clock your OC to a lower turbo where it doesn’t current throttle. Once Current is solved, thermal will become an issue, it’s a good idea to test with your fans on full, they can be tuned accordingly after finding a stable lower CPU voltage. We need that Undervolted Max OC for quiet high performance Studio machines. Fast cores, not more!!!

A lot of the tweaks aren’t recommended on LAPTOPs, they won’t be able to cool efficiently, buy a proper PC.

Remember… We need the lowest possible voltage at the highest stable clock speed. With the voltage that low, anything that will cause a slight drop will crash the machine. That’s why current throttling is more of an issue than it seems to be given on the internet. Possibly due to most Overclockers simply throwing more voltage at it, having crazy cooling systems and not worrying about, fan and/or pump noise.

Set the CPU to Fixed not Dynamic, different motherboards have different terms for these things.

Hi there,
same here with Nuendo 10. The screenshot shows how Nuendo lets half the CPU sleep peacefully. A pity that half the performance of a CPU is not used. I have a new 16 core mac pro 2019 and I’m really disappointed with Nuendo’s performance. I hope Steinberg can do better.

That’s interesting as it’s all the even cores that have no activity. Which i presume are the hyperthreaded ones.

The issue with half of the CPU being unused has to do with either multithreading being turned off or with the use of a multi-core multi-thread CPU and turning ASIOguard on/off.

So, if you’re seeing low use of cores try toggling ASIO guard on/off and see what it does. If I remember correctly Steinberg’s (poor) solution to a windows issue was to disable a bunch of cores when turning ASIOguard OFF. So turn it on and see how it looks.

Hi Mattia,
Multiprocessing is turned on. Checked if something happens in the cpu usage with asio guard on and off but with no results. It seams that Nuendo is not able to use all the threads.