Windows 10: audio dropouts on multi-core CPU setups

Hello everyone,

I thought it might be useful to link this KB article on the Forum, as this might negatively affect quite a few users using i7 Extreme and Xeon setups.

Please, see here:

Kind regards,

[Edit: Specifications of your Intel CPU can be found here: https://ark.intel.com/]

[Edit 2: If you have drop-outs and are using a 2, 4, 6, 8, 10 or 12 core CPU, using the audioengine.properties files won’t help in any way, please start trouble-shooting here: https://helpcenter.steinberg.de/hc/en-us/articles/206112724-Optimizing-Windows-for-DAWs - related articles: https://helpcenter.steinberg.de/hc/en-us/articles/206625630-Hyper-Threading-and-ASIO-Guard and https://helpcenter.steinberg.de/hc/en-us/articles/206103564-Details-on-ASIO-Guard-in-Cubase-and-Nuendo - if all fails, please contact Support via MySteinberg]

Interesting Fabio! But can you explain a little bit more? What is the relation between the 32 processes which can run in MMCSS and 14 cores? Or is it 32-4 (as mentioned in the article) is 28 and cubase needs 2 audio processes per core?
Thanks!

Hi,

I don’t actually know how deep I can delve into the details, sorry.
I’ll check and post back.

For me, it does not fix any of my cpu spikes when using VST synths.

Will only help if you have 8 cores with hyperthreading or 16 cores (or more) if I understand it correctly.

@xanthos84: if you use the i7 6700k as per your post here Cubase 9.0.20 CPU spikes | 8.5 is fine - Cubase - Steinberg Forums this article does not apply to you in any way.

@vinark: exactly, the issue will only affect systems using CPUs like i7-6950X, Xeon with more than 14 cores and of course dual Xeon configurations.
And yes, Cubase spawns 2 threads with MMCSS priority per core, plus the 4 used for non-audio.

Is this applicable to i7-5820 processors?

Thanks, I haven’t had an issue with dropouts at all, but may explain why I get better performance when HT is disabled.

-E

Fabio, thanks for the information.

I assume Steinberg has notified Microsoft (Peter Brown) regarding this issue, right?

For those who don’t know their CPU has more than 14 cores, on https://ark.intel.com/ you can find specifications for all Intel CPUs. AlakaLazlo, your i7-5820 is a 6 cores / 12 threads CPU, so it’s not affected.

@Rommelar: We contacted the relevant parties at MS - we decided to inform the users because no short-term solution has been found.

Thank you Fabio. Still getting massive real time ASIO spikes and dropouts. :frowning:

Thank you Fabio.
I have a couple of questions, if you will be so kind:

  1. My processor is Xeon 12 cores (24 threads). It is affected, right? It is still not clear to me whether we are talking about the number of cores or number of threads. I think it is the later, but I found one instance in the thread where it could mean otherwise.

  2. I am running both Cubase and ViennaEnsemble Pro on this 12 cores/24 threads computer. If I use the audioengine.properties file to limit Cubase’s cores/threads count, how would that impact on VEPro? I will address this question in the VSL forum as well, but does anyone know if Vienna Ensemble Pro also needs MMCSS threads? Is it a real-time (high priority) type of process, just like Cubase?



Logical core = real core + hyperthreading

I run Cubase 9.0.10 on Windowa 8.1 and I have been having audio dropouts ever since upgrading to 9. I thought it was just me and am quite relied to see this thread. I would be interested to see how many users on Windows 7 and 8.1 are affected. Mine is a 6 core machine with Hyperthreading turned on and it is definitely affected - see details below. Which has not been an issue for me prior to Cubase 9.

@Silhouette:
The i7 in your signature suggest that your have a 8 core machine, capable of a total of 16 threads.

You are quite right - my maths was always a little suspect. Thanks for pointing that out.

The drop outs seem to be worst for me when I have imported projects from previous versions of Cubase.

@ Cat: Yes, if you have Hyper-Threading enabled, you are using 24 cores and your CPU is affected.
If HT is disabled, you don’t need to worry.
The engine.properties file is not going to affect VEP in any way, as it only relates to the Cubase Audio Engine.
I don’t know how VEP works internally, but it will access its own 32 threads to my understanding.

@silhouette: If you are using Windows 8.1, the issue is somewhere else, this limitation is not present in Windows 7, 8 and 8.1, only in Win 10.

As Rommelaar wrote, the limit applies to Logical cores, which includes physical and HT.

Aha - so in Windows 10 there is a limit on the number of MMCS threads per process. So both Cubase and VEPro will each be considered one process, each with maximum number of MMSC threads.

Another thing I don’t understand: why limit Cubase to only 14 logical cores (via audioengine.properties) when it seems that the maximum number of MMSC threads in Win 10 is 32 per process.

1 core is 2 logical cores. 4 threads are already taken so 28 left. Divide 28 by 2 for HT and you have 14 cores . If you have HT disabled you can ignore it all (unless you hae 2 16 core xeons).

It’s all explained above and in the link, all you have to do is read it. Cubase is the “process”, windows reserves 4 MMCSS threads, leaving 28, Cubase schedules two MMCSS threads per CPU core (real or logical), 28 divided by 2 is…