Windows 10: audio dropouts on multi-core CPU setups

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…

“28 divided by 2 is…” … 14! 14 what? 14 physical cores. I did this math, thank you. So are we then talking about CPU’s with more than 14 physical cores that have the issue? In another place it was said that the CPU’s with more than 14 logical cores have problems. Which one is it? I am so confused…Anyone could explain this, please?

Thanks for this. I was here to find out why my new monster box was misbehaving, even after muttering all the appropriate runes over it, this pretty much resolved the issue for me. On another topic, my UAD Apollo Quad Firewire is still falling down pretty regularly with my new setup, my Orion 32 HD arrives tomorrow, we’ll see if that works any better.

Didn’t Firewire lost support after Windows 7?

I have one question when reading this thread, please, someone should tell for what projcts more than 14 cores are needed?
Big sample libraries mostly need much RAM and I don’t know how Instruments and effects should be used to have a benefit from so much cpu cores.

I am not joking I really don’t know it, CPU power was not really a problem in my projects and if, I can freeze (I am using a normal non overclocked i7) and also DIVA. (Even with 5 Diva instances, effects, other Instruments, sample libs, … I easily can keep 64 samples latency)

And what I also do not understand, if Cubase uses more than 32 realtime (the limit which MS has setup in Win10) threads for multimedia scheduler then the cpu mostly waits for finishing every thread and the overhead to handle such big amount of threads only waste cpu power.

I do only little programming, but from what I have learned about programming, threads are good, but too much, specially for audio applications have an opposite effect and is more bad for audio performance. So in my opionion, as an non expert, the Limit of 32 is not that bad and I think MS knows pretty well why they setup that Limit.

There’s a big difference for graphics rendering (nonrealtime), here it doesn’t matter when which thread is ready. There as much threads as possible have an positive effect.

You want to use your hardware to the full potential. If this causes dropouts that weren’t there before, then surely it’s not a good idea to put a limit there.

Windows 10, dual Xeon user here.
As expected, absolutely nothing changed after this work-around.
Cubase continues to make life harder with its audio dropouts

This is a heavy one. You have 2X8 core and 2X16 threads. What happens if you disable hyperthreading? If still as bad then this work around will do nothing either. You could limit Cubase to one CPU and see how that works.

If you mean disabling multi-processing in the device setup, it doesn´t make any difference.
I can´t see any perfomance improvement even after disabling hyperthreading in the bios setup.
Working with cubase is a nightmare for me.

Have you tried the audioengine.properties workaround ?

Sure, see my post above.

No I meant limiting cubase to one cpu. In task manager you can set cpu affinity. If you select the first half of all available you are running on one physical cpu. It is stupid fix if it even is a fix but it will help with the diagnose.