Cubase 10, Windows 10 and multi-core (14+ cores)

8-core CPU here (5960x). Didn’t benchmark yet, but feels like no change compared to 9.5 with the properties file. I’ll test properly and report.

By the way, my main concern for CPU isn’t fixed yet. That is, using full CPU when rendering.

By the way, thank you Fabio, for the mood you’re setting here. That is the spirit for a good forum. Finally!

14 cores. Definitely an improvement in performance here. GUI is snappier too.

Disabled all BIOS SpeedStep and all that stuff, except Intel Turbo Max Boost 3. Guess that’s only relevant to certain MOBOs.

I just checked and it looks like the update to build Win10 1809 wiped out the registry key for me. That might explain why Cubase 10 seems smoother/more responsive than 9.5 has recently. I wonder if Microsoft also changed MMCSS behavior in 1809 as it was much worse before? Fabio, any chance you can get into a little more technical detail about what Cubase 10 is doing differently with MMCSS now?

Maybe too off-topic, but it is somehow(?) related in regards to RME audio driver. It has a setting to enable MMCS and I have it enabled. Wondering now if this is still the best way to go together with Cubase 10?

anyone got a link were I can reset all my reg edits I did with Cubase 9.5…im using a i7-5820k 3.30ghz cpu and 32gb ram but not seen any of the processing boost im supposed to get .I deactivated hyperthreading because that’s what I was told to do when I was getting asio spikes in Cubase 9.5 in the last windows update (1803) and I don’t think ive reactivated it.

how can you tell if its on or not and what do you recommend I set my Cubase power settings too ?thanks

I’m testing a very busy project in Cubase 10.0.5 and I’m afraid I’m not seeing a difference here (5960x, 8 real cores). This particular project still causes a lot of real-time spikes if I try to play it after activating hyperthreading on BIOS.

With hyperthreading deactivated it works just fine, no real-time peaks, as you can see in the image below.

In both cases ASIO Guard is set to “Normal”, and my RME AIO is set to a latency of 128 samples. So, unfortunately, no improvement here after updating to Cubase 10.

Curious if you did any registry changes before – if so, you’ll need to reverse those as well. If not, I’ll be curious what Fabio might suggest. Please keep us posted. This is the time IMO for Steinberg to get this sorted out, otherwise we’ll be waiting around a couple of years. So please stay on this and push Steinberg to help get to the bottom of the issue. I appreciate when anyone keeps following up on things like this. So far it’s been better for me on a 10-core Xeon, but I haven’t loaded a project to the max yet. Yours looks like a pretty heavy load, so maybe the new optimizations don’t work as well under heavier load?

Hi uarte. No, I never did the registry changes, nor the audioengine.properties trick (which I didn’t even know it existed before reading this thread). It was clear for me since upgrading to Cubase 9 that, if I wanted to work with virtual instruments at low latencies without spikes, the only solution at the time was to disable hyperthreading, so I simply did that and moved on, until now. In fact, reading about these possible improvements in multi-core was the main reason for me to purchase the update to Cubase 10.

Of course, I’ll make my best to help Steinberg / Fabio if there’s something in particular I can test in my rig for them.

Thanks Jorge, I hope Fabio and Steinberg in general can sort this out. I think the general direction is positive with C10, but you should have seen an improvement. I need to test out some more heavy duty projects soon to see if higher CPU load makes a difference for me here. So far so good for me though on an average size project, the improvements with C10 have been noticeably good. But I haven’t had the time yet to really push it as hard as your project appears to do.

Out of curiosity, what plugins are you using in your session? If I have the same ones, I’ll try setting up a session that pushes the system more with those plugins.

Fabio, can you please clarify exactly what this change should or shouldn’t allow? Exactly how many computational threads are allowed now? Can a large scale CPU be expected to be used fully? eg. AMD Ryzen Threadripper 2990WX with 32 core and 64 thread? Or is this just a “fix” to throttle Cubase so it only uses a certain percent of the available threads and no dropouts occur?

If this is not a total fix and still won’t allow full use of large processors like that, is it expected there will ever be a “full fix”? The number of cores and threads available to us grows every year. Some of us are running synths or plugins that require a high CPU single thread, and thus we need these processes spread out among all our cores (with or without multithreading enabled).

Microsoft claims to have been working closely with you on this issue for over 10 months now:
https://answers.microsoft.com/en-us/windows/forum/windows_10-performance/windows-10-limits-max-number-32-of-threads-with/e3a47fc2-9547-4fea-b830-042a552f56a9

So I can only hope you have found a total solution between the two of your companies. Otherwise, I would like to know what you suggest people do long term in order to fully use these big processors. If this is expected to work with Cubase fully, I will order one of these processors and can post test results in a few weeks. But I need to be clear on what to actually expect. I don’t want to buy a $2000+ processor for $800 worth of performance.

If ASIOGUARD is enabled, then why do you have such a heavy load on “real-time peak”? Maybe some kind of plug-in does not support asioguard or is it disabled for some plugins?

With Asioguard should be like this (ASIO Guard is set to “Normal”, and my RME AIO is set to a latency of 128 samples)
asioguard.jpg

@jorge
Have you done the usual optimations in bios ?
Disabling any and all power saving and turbo boost, and clocking all cores the same. A 5960 I would clock at 3ghz on all cores to start somewhere and increase the clock if the temp allows it.
Setting memory timing to what the manufacturer recommends for the memory sticks, auto setting in bios sometimes get it wrong.
Also.
Updating any and all drivers, even non-audio related devices can have a disastrous influence if they cause interrupts.
LatencyMon is a good tool to find any problematic, programs and drivers.
Most of this can be Googled, if you need more information.

Anybody see any performance enhancement with a 3930K on 10?

I’ve been doing more tests during the weekend and I must say that, yes, according to the ASIO loads, there’s an improvement of about 5-10% between Cubase 9.5 and 10 in my system, which is indeed nice. However, as I said before, even with this gain in performance, I still can’t work reliably with hyperthreading activated due to the real-time glitches.

Well, nothing really esoteric I guess: 8-10 instances of Kontakt with single instruments, a couple of TAL-U-NO-LX, a couple of Reaktor ensembles… and, for effects, mainly Sountoys and Waves, being the NLS the most used plugin, as it’s almost in every track.

To be honest I don’t really know, as I don’t usually check the real-time peak meter while working on projects, and the average load has always stayed very steady with hyperthreading disabled. But you may be right, I’ll recheck the ASIO Guard status per plugin, just to be sure.

Yes, all the usual optimizations in BIOS and Windows are done, and all the drivers are updated. I even exchanged my good but old Nvidia GT-640 graphic card with a more modern Nvidia model, and also with a Radeon card, but they didn’t make a big difference in real-time performance for Cubase. All these tests were made when I purchased the 5960x machine a couple of years ago, and just before I finally decided to disable hyperthreading for the time being and call it a day, as the computer performs well enough for my needs.

Hello, sorry for the (forced) absence.
Thanks to all who posted their experience - feedback pretty much matches our in-house tests.

@Jorge: I’d recommend to get in contact with support - if it’s just one project, it should be relatively easy to find out.
(Spanish support is a few metres away from me, by the way :slight_smile: )

1809 didn’t change anything about MMCSS as far as I’m aware, but i wouldn’t be surprised if the registry key was wiped.
Cubase 10 just addresses resources differently and spawn threads in a more complex way, it doesn’t really do something ‘different with MMCSS’.

The new engine works and addresses resources in a very different way, but it’s way to complex to be explained here and I frankly don’t have full information myself yet. Also, the engine behaviour can be adapted to particular cases, if needed.

But:
– No, Cubase does not throttle anything
– No, it does not limit the amount of cores used in any way
– Plugins that require high-speed core speed will most likely continue to do so (load spread does not depend on Cubase alone)
– Cubase 10 can make use of as many logical threads as available, but it should be mentioned again that not all CPUs are designed for this kind of work-load: thread-synchronisation and amount of cores, base-clock speed vs. amount of cores, instructions sets and CPU architecture all need to be taken into account (but there are recents tests from DAW builders that hints at the fact that this ‘trend’ is changing)

(Microsoft provided us with information and the registry work-around, but the long-term solution Pete talks about is something totally different to this and requires an engine re-write with different APIs)

Hyper-threading needs to be reacivatend in your BIOS, usually in the CPU Frequency / Advanced section.
That CPU does NOT require the registry key, so hopefully you didn’t apply any…

Unlikely - the new behaviour is meant to improve performance with more than 14 cores.

Be careful with Waves. Some of them do not like Hyperthreading…

+1

Please someone from Steinberg, who has knowledge, clarify that this CPU will work to full potential with Cubase.

As I wrote above, Cubase 10 addresses resources differently, so the limitation to 14 logical cores is now gone.
Theoretically, any CPU can be used, and if issues arise the engine can be further tweaked.

But not all architectures are created equal or are tailored to a certain kind of processing - 2990WX at full potential? Difficult to say, honestly, the same CPU might work differently, even just switching the motherboard.
On the SCAN main page, http://www.scanproaudio.info/, you currently find an article about Cubase 10 directly on the homepage, with pretty detailed info on the 2990WX performance and benchmarks against other chips.
It’s really worth a read, particularly on the perfomance and overhead loss, which according to their test isn’t DAW-specific.
Also interesting to read about the stable OC figures.

Thanks for the link.

Since this “improvement” pretty sure does no more than automatically determining the max. possible count of realtime threads, instead of reading it from a file like audioengine.prop:
Why do you bother all the users with huge “beta” trials then? It would be more convenient for all, to provide a small tool/view which shows the auto detected count on the GUI to report here.

(Still a bit pissed on the answer of Steinberg support one year ago, I should myself contact Microsoft to ask for removal of the MMCSS limitation and that Steinberg can do nothing about it. I am sure your voice is heard when you contact MS, at least better than mine)