Cubase not using extra CPU cores for plugins?

I am running a project where I am attempting to run 3 instances of Reverence - all running “true stereo” impulses. I can only get Cubase to run 1 of them in real-time (the Cubase meter says my CPU is running at maybe 90% or so according to the meter). I want to run all 3 though… so I am thinking of exporting 1, then moving on, etc.

Here is the issue: I bring up the Windows task manager, and it tells me that only 1 of my CPU cores is really being used at all. My CPU has 6 cores! 5 cores are basically sitting on their butts doing very little!!! I thought Cubase was taking full advantage of multiple cores… or is there something that I am doing wrong here? Under the “device setup” window, “multiprocessing” IS checked.

Also, according to the Windows task manager in Windows 7, the CPU usage is hovering between 25% and 35% useage (that’s when I look at it “during” playback with one instance of Reverence running.

Thanks,
Todd

Open the Task Manager (Ctrl + SHIFT + Esc) and select the “Performance” tab. Do you see all 6 cores (12 if you have hyper-threathing enabled) being utilized? If not, then there’s a BIOS setting or one in Windows that you need to change in order to enable all of your cores.

Each motherboard is different, so I can’t tell you exactly how to get there, but the windows setting in Windows 7 can be reached by typing “msconfig” (without quotes) in the search bar and pressing Enter. Select the “Boot” Tab and click where it says “Advanced options…”. You will see the option to choose the number of processors on the top left corner. Put a check mark on it and select the corresponding number. Close and restart the system. This shouldn’t be necessary, since Windows Vista/7 defaults to enabling all processors, but it could hopefully help you troubleshoot the issue.

The Task Manager is exactly where I was looking - under the performance tab. All 6 cores do appear (I have hyperthreading disabled as Steinberg has not declared official support for it that I am aware of. Please correct me if I am wrong here.). Each core appears to be doing a little bit of work, but only maybe 1 or 2 at most are really working hard. The others are doing very little. I think the reality is that Cubase just doesn’t really use all of them completely.

Maybe I should enable hyperthreading so I have 12. Would that make a huge difference? ALSO, my motherboard allows for a 2nd processor… maybe I should add another 6 core processor, so that with hyperthreading active, I would have 24 cores total. Would that make a difference? - or would Cubase still mainly use just one or two cores?

Honestly, I think there’s something else going on with your machine. You should totally be able to utilize way more than 4 instances of Reverence. Mine does it no sweat, though I use the true stereo impulses from QL Spaces, and you can see it is not even close to the power you have (see signature below). So adding more computing power is not the solution. Let’s start by you giving us your entire system specs.

Well… these projects are at 192kHz. I decided to do an experiment and do an entire album at 192kHz. They naturally take much more CPU. But still… why does the Windows task manager performance hover between 25-35%, and the Cubase CPU meter is maxed? Weird… My machine is a 6-core machine. Each core runs at 3.46gHz. I run on Windows 7, 64-bit, although I run 32-bit Cubase.

Well damn! Why do you even bother using that sample rate? You gain nothing, except what you’re experiencing right now, much higher CPU processing. Honestly, 44.1 KHz is more than enough to make great records. Why don’t you try and see what happens when you use 44.1 KHz instead.

Because the “Cubase CPU meter” is not a CPU meter, but an ASIO meter.

Also why don’t you try it with HyperThreading on and see if it makes a difference?

But really 192KHz is, as you have found out, a bit OTT.

I’ve already done records at lower sample rates… This is the first record that I’ve done at higher sample rates. It’s just an experiment to see if the end result benefits in some way.

In the real world… what does this actually mean? Maybe my latency is set too low?

Maybe I’ll give it a shot - although I was paranoid about possible clicks/pops suddenly appearing - and unless I’m super careful, maybe I’ll miss one somehow and it will end up in my recordings!

The highest I would go is 96 KHz, and that’s only if I had microphones, pre-amps, monitors, etc. that could actually take advantage of such a high sample rate. How else would you be able to capture and hear it otherwise? And even then, most playback systems don’t go that high. Most people don’t even hear past ~17 KHz! So you’re really catering to dolphins, dogs or other animals that can actually hear those higher frequencies. I don’t know. Why do you think 44.1 KHz is still the standard for CD reproduction? You would think that by 2012 we would have moved past something so ancient, right? :wink: And let’s not even get into compressed formats, like MP3 and AAC, which is the quality at which most people will probably end up hearing your music.

I could go on, but the main point is that 192 KHz is simply a waste of resources.


Yes, that’s basically what it boils down to. The ASIO meter measures the time it takes to complete a task in Cubase. The more time it takes, the higher the chances of pops and clicks because the CPU is not able to keep up with the demand. If that’s the case, then you need to raise the latency. If it’s already at the max it can go, then you need to resort to other methods (i.e. freezing, bouncing, etc) in order to free up some resources.

I agree, try enabling Hyper-Threading and see where that takes you, if you must insist on 192 KHz. To each his own.

Not sure how the Cubase threading works, but consider that if you’re running 3 Reverences in series (i.e. inserts) then there’s no point in using more than 1 core because each instance has to wait for the previous one to provide output anyway. If however, you’re running these 3 fx as sends then it would make sense to use 3 cores because their processing can be parallel and independent.

How are you using the plugins?

The way I think of it is that the ASIO meter displays the amount of time it took to process a chunk of time as a percentage of that chunk of time. So if you’re at 50% then you are processing each chunk at double speed, and all the plugin instances are sitting idle 1/2 the time waiting for more input as the output is played in real time. But of course, there’s other things going on like graphics redraws, disk access, other programs, OS management etc. and these things aren’t included in the ASIO meter.

Looking at say the Reverence plugin, then for example if one reverence instance takes 9ms to process 10ms of audio (90% ASIO) and you put 3 reverences in series then it’ll always take 27ms to process 10ms of audio, hence you’ll get a big dropout. No way around that.

Mike.

Thanks guys… I will give hyperthreading a try and see what happens.

Based on your post, I am assuming you never never even tried 192kHz, and yet here you are mocking the validity of it? The justification for your entire post runs on the “assumption” that the only benefit is extended frequency range. Maybe you can explain to all of us idiots here why UAD upsamples for most of their quality plugins. I am assuming they don’t do it just for fun - and that “processing” at higher sample rates may have some benefit. You know better though? If so, EXPLAIN IN DETAIL.

Cool. Makes sense… thanks for the clarification.

They’re not in series. They are on 3 different channels.

Then maybe Steinberg chose to keep the same plugin instances together (can’t think why), or maybe they share the executable code to save on memory usage, therefore they need to reside on the same core?

If you load up a load of other plugins then does the processing distribute around the cores?

Mike.

Are all on the same bus/channel? Cubase typically schedule the the work on each channel/bus on single thread task so inter processor cache only needs for summing.

Hmm… this may be exactly what’s happening! They are all 3 on individual FX sends - HOWEVER, the output of all 3 sends are routed directly to one single group channel. I will experiment with sending them to different busses.

OK, let me chime in. Win7 does do this thing where it taxes the first processor, but it can be told to share the load. I read this on some post here, an old one, that linked you to a website that explained how to do this. There were a few steps, more than just what was within msconfig actually.

Anyway I did this and, for example, as I now open the task manager under the performance tab, I see the small spike across all four cores of my system - the result of opening the task manager, ctrl/shift/esc. (Before it was just on the first processor.)

So this is a clue, do this and see what your cores look like. See if they all have the small spike.

As to the posting, sorry, I can’t recall but this is a link and instructions via google. Also note that it has been ‘improved’ on this link but the process describe here is what I did, within regedit, changing value numbers.

http://forum.cakewalk.com/tm.aspx?m=1861804

BIG P.S.: I was looking at Jose’s post and thought, OK, lets look at the msconfig settings. Well, I did as he suggested, checked the box, and added the 4 processors from the drop down window. NO! This was not a good idea with my system. And this may be because I have used another method to include all my processors via regedit, not sure. BUT THE POINT IS, MY WIN7 MACHINE DID NOT LIKE THIS! As a rebooted it I was sent to safe mode, etc, and have had to go back to an earlier backup. Learn from my mistake, apparently you cannot do both these things!!!

I’m not Jose, but I can tell you that Dan Lavry makes a very strong scientific case against the use of 192 kHz, even claiming (and very credibly so) that using it gives worse results than 96 kHz. Check out his white paper: the original is here, and The Optimal Sample Rate (May 2012) is here. Additional comments by Lavry on the latter: here.

Arjan - That was a good read, thanks for posting it. :slight_smile:

Also, since almost no one uses 192/174, you may run into all kinds of “bug like issues”.

You should find no bugs at 96/88 which has been the professional standard for ITB productions since the introduction of HD systems, has it been a decade ago?

I have seen that paper and read it - but thank you for sharing it here again. Maybe there are some issues as Dan mentioned, but nothing my ear can hear. Everything sounds fine to me. There are certain benefits I have noticed though in the overall sound… “Some” plugins seem to benefit and sound slightly better. Others don’t seem to care. I’m not sure if the quality of the recorded audio is any better. I don’t have anything to compare it with I guess.

There are bugs in every program at every sample rate… As far as bugs specific to 192kHz operation, for anyone insane enough to try what I have done, Cubase seems to handle 192kHz very well. It just processes everything like it does at lower rates and it seems perfectly happy doing so. It works great.

Over the last year, I have recorded and produced an entire album in Cubase - the entire thing was done 100% at 192kHz, some 24-bit, but mostly 32-bit float files. This album will be released in the very near future. If there were bugs that made it impossible in Cubase, I have not yet found them. I am on schedule to deliver the final masters for duplication very soon, and unless I screw it up, the album will be available this fall. Cubase has carried me this whole way beautifully. Of course there were minor issues along the way - most of which I have posted about recently. Other than that, 192kHz has been kind of fun. It reminds me of the old days when we really had to worry a lot about CPU limitations.