1

Topic: MMCSS is back (Time tunnel to 2008) - Driver Update

Hello,

in 2008 Microsoft came up with MMCSS as a means to protect the audio thread from dropouts caused by other high CPU loads. At that time there had been a lot of testing, you can read all about it in the old threads of this forum (search MMCSS), like

http://www.rme-audio.de/forum/viewtopic.php?id=3131

For some time we had an option on the Settings dialog About page which allowed to turn this feature on and off. Later then we followed Sonar's advice that the driver should not mess around with MMCSS, but only the DAW should do so. The button was removed with MMCSS disabled (still 2008). That made the driver fully compatible again to all existing DAWs. The topic MMCSS never came up again.

Flash beam forward to the just released ASIO 2.3 (2013...), where Steinberg now states that the driver should set the MMCSS priority, and that this is the only correct way to do it.

Therefore we will add the old switch from 2008 back into all current drivers. Here the first ones for the HDSP/HDSPe series and the HDSPe MADI FX card:

https://archiv.rme-audio.de/download/hdsp_wdm_336.zip

https://archiv.rme-audio.de/download/hd … in_111.zip

Note that at this time activating this option seems to be useful mostly (maybe only) with the latest Cubase/Nuendo, and you will notice differences only at higher CPU loads. According to our tests with other software this option can decrease performance (no change since 2008). The change becomes active after an ASIO reset. Therefore it is easy to quickly check which setting works better on your machine with your specific software.

Happy testing!

Regards
Matthias Carstens
RME

Re: MMCSS is back (Time tunnel to 2008) - Driver Update

Can't test it as I'm still on XP. So the DAW software has to support ASIO 2.3 in order to get the benefits? What other changes are there in ASIO 2.3?

3

Re: MMCSS is back (Time tunnel to 2008) - Driver Update

Then no MMCSS.
Yes.
None in our driver.

Regards
Matthias Carstens
RME

Re: MMCSS is back (Time tunnel to 2008) - Driver Update

Ok, thanks!


REAPER users please vote: http://forum.cockos.com/project.php?issueid=4824

Re: MMCSS is back (Time tunnel to 2008) - Driver Update

On XP the MMCSS checkbox should be greyed-out/disabled.

6

Re: MMCSS is back (Time tunnel to 2008) - Driver Update

Right, but it doesn't do anything there anyway, so no big deal.

Regards
Matthias Carstens
RME

7 (edited by Yannick 2013-05-28 21:23:58)

Re: MMCSS is back (Time tunnel to 2008) - Driver Update

Hello, I was interested in testing this option, I'm on Win7 pro 64Bits using Nuendo6 64Bits and two HDSP PCI cards rev17 (connected to 2 Digifaces). Unfortunately I *think* I see no difference at all at very high CPU loads (from 70 to 95% in task manager and I don't even speak about the Nuendo Asio meter which reports overloads all over the place.

I'm trying to achieve lowest possible latency on this system for "realtime" recording thru Nuendo without direct monitoring which brings me to this question : could I expect better performance (lower CPU load or lower latency settings) if I exchanged the two HDSP PCI cards for 2 HDSP PCIe cards please ?

Best regards and thanks for your hard work as usual !
Yannick

Re: MMCSS is back (Time tunnel to 2008) - Driver Update

I just did a short test with MADI FX 1.1.1 and Cubase 7.0.4. No difference in performance @ 64 samples latency. I did an ASIO reset between switching.

Leon Herbers
www.dawplus.com

9

Re: MMCSS is back (Time tunnel to 2008) - Driver Update

You are not alone. Apart from problems with non-Steinberg DAW software the MMCSS setting usually seems to do nothing. In fact it is not expected to raise perfomance or give lower latency operation even when used with Cubendo - in full screen mode. MMCSS can help if your computer behaves not ideal, or when doing things OUTSIDE Cubendo (from moving windows to crazy background drivers).

Looks like we will have to wait if this new move from Steinberg prooves to be a positive thing...or if it will be removed again after some time (due to all the compatiblity problems that it causes).

Regards
Matthias Carstens
RME

Re: MMCSS is back (Time tunnel to 2008) - Driver Update

Many thanks for the extra information. Especially the "outside the DAW" behaviour is interesting. Curious whether it will improve such issues.

Leon Herbers
www.dawplus.com

11

Re: MMCSS is back (Time tunnel to 2008) - Driver Update

Timur and Tafkat will chime in sooner or later, as they did some tests already on this topic.

Regards
Matthias Carstens
RME

Re: MMCSS is back (Time tunnel to 2008) - Driver Update

That is, if specific questions come up. wink

Re: MMCSS is back (Time tunnel to 2008) - Driver Update

I did some quick tests using ableton live 9 and found difficult to spot differences with MMCSS on/off, even with 32 buffer size and large projects. ASIO meter fluctuates too much to see visible changes!
What findings did you find so far Timur?

14 (edited by Timur Born 2013-06-10 07:02:40)

Re: MMCSS is back (Time tunnel to 2008) - Driver Update

You will not see any differences with Ableton Live. When I detected and reported the issues of having driver based MMCSS combined with a non MMCSS multicore DAW RME's solution was to quickly implement the optional switch and then turn MMCSS off by default. One month later Ableton implemented a workaround that forces the driver priority down to non-realtime priority 15. This is still in place (I just checked again), so regardless of what you set up in the HDSPe drivers Live will override it.

But even with MMCSS you would not see much - if any - differences on Live's CPU/ASIO meter. That is because MMCSS is about CPU priorities (realtime) and how to handle conflicts with *other* processes/threads. It does not change total CPU load!

Re: MMCSS is back (Time tunnel to 2008) - Driver Update

Nice! thanks for the info

16 (edited by Potscrubber 2014-06-04 03:24:31)

Re: MMCSS is back (Time tunnel to 2008) - Driver Update

Ticking MMCSS significantly improved the low latency recording performance of the Madiface XT connected via E-PCIe in Magix Sequoia 12.5.  Recording 64 channels at 96K on lowest buffers (64) no problem, machine is robust and not dropping buffers, on a Thinkpad T430 i7 to USB-3 external drive.
cool

Madiface XT, Madiface, 3x Micstasy, ADI8QS
Sequoia 15,  W10 x64, W7 x64

Re: MMCSS is back (Time tunnel to 2008) - Driver Update

Doesn't Sequoia offer an internal "high priority" option in its settings?  Last time I checked Samplitude (quite long ago) it did offer such an option. What this option does it to fix the audio driver threads to highest realtime priority 31. Should work as good or better than MMCSS, but with the drawback of the whole machine freezing if Sequoia/Samplitude freezes or overloads the CPU (MMCSS works around this, so it's a middle of the road compromise).

Re: MMCSS is back (Time tunnel to 2008) - Driver Update

Timur Born wrote:

Doesn't Sequoia offer an internal "high priority" option in its settings?  Last time I checked Samplitude (quite long ago) it did offer such an option. What this option does it to fix the audio driver threads to highest realtime priority 31. Should work as good or better than MMCSS, but with the drawback of the whole machine freezing if Sequoia/Samplitude freezes or overloads the CPU (MMCSS works around this, so it's a middle of the road compromise).

That option is XP only, greyed out for Win 7+.

Madiface XT, Madiface, 3x Micstasy, ADI8QS
Sequoia 15,  W10 x64, W7 x64

Re: MMCSS is back (Time tunnel to 2008) - Driver Update

I did a test to compare MMCSS on or off.

This test use my own tool to automate the Dawbench Benchmark

Here are the results with a Hdspe Pcie (Multiface 1), Cubase 6.5, Project RXC-EXP 2014.
The enabled plugins are reduced until there is no drop for 5 minutes, and each buffer value is tested 10 times.

http://www.casawave.fr/upload/Test_Rme_MMCSS.PNG

Re: MMCSS is back (Time tunnel to 2008) - Driver Update

Stf_Casawave wrote:

I did a test to compare MMCSS on or off.

This test use my own tool to automate the Dawbench Benchmark

Here are the results with a Hdspe Pcie (Multiface 1), Cubase 6.5, Project RXC-EXP 2014.
The enabled plugins are reduced until there is no drop for 5 minutes, and each buffer value is tested 10 times.

http://www.casawave.fr/upload/Test_Rme_MMCSS.PNG

I believe Cubase 6.xx dosn´t support MMCSS, it came with Cubase 7.0.6 .... maybe I am wrong.

Multiface, Digiface, Raydat

21 (edited by Stf_Casawave 2014-10-08 16:39:13)

Re: MMCSS is back (Time tunnel to 2008) - Driver Update

tom74 wrote:

I believe Cubase 6.xx dosn´t support MMCSS, it came with Cubase 7.0.6 .... maybe I am wrong.

If somebody confirms this, I could relaunch the test with Cubase 7

Re: MMCSS is back (Time tunnel to 2008) - Driver Update

http://www.steinberg.net/forums/viewtop … mp;t=46833

Improved audio stability (7.0.6)
To improve the overall audio stability under Windows, Cubase now ensures that the ASIO driver threads are using Windows MMCSS (Multimedia Class Scheduling Service).

Multiface, Digiface, Raydat

Re: MMCSS is back (Time tunnel to 2008) - Driver Update

Latest REAPER version also has MMCSS support. Someone did some tests with it?

Re: MMCSS is back (Time tunnel to 2008) - Driver Update

New test with Cubase 7.5 (Asio guard disabled), Rme driver release 4.03.

http://www.casawave.fr/upload/Test_Rme_MMCSS_2.PNG

Re: MMCSS is back (Time tunnel to 2008) - Driver Update

Thanks for the benchmark, it seems that MMCSS works quite well with Cubase 7.5 and the RME drivers.

FYI, you can tweak the MMCSS service trough the registry. You can try to go down to 10% CPU time for the low prority taks.

http://msdn.microsoft.com/en-us/library … s.85).aspx


The MMCSS settings are stored in the following registry key:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile

This key contains a REG_DWORD value named SystemResponsiveness that determines the percentage of CPU resources that should be guaranteed to low-priority tasks. For example, if this value is 20, then 20% of CPU resources are reserved for low-priority tasks. Note that values that are not evenly divisible by 10 are rounded up to the nearest multiple of 10. A value of 0 is also treated as 10.

The key also contains a subkey named Tasks that contains the list of tasks. By default, Windows supports the following tasks:

Multiface, Digiface, Raydat

Re: MMCSS is back (Time tunnel to 2008) - Driver Update

According to this Microsoft article https://msdn.microsoft.com/en-us/librar … 85%29.aspx there are Task entries. Audio, Pro Audio etc.
How does this match the MMCSS for ASIO?

I use a program, Process Lasso, that lets me choose what Task to use. I used Pro Audio Task that I tweaked.
On activating the MMCSS button it looks like the RME panel activated the Audio Task not the Pro Audio.

So now I tweaked the Audio Task and all pops and clicks are gone.

Can I have MMCSS activated and switch between Tasks or must I use the Audio Task and tweak that one?

Regards
Christian

Re: MMCSS is back (Time tunnel to 2008) - Driver Update

Good question. REAPER also uses the "Pro Audio" task.

Re: MMCSS is back (Time tunnel to 2008) - Driver Update

As far as I know those "tasks" are just pre-defined profiles. So if you tweak one to use the same settings as the other it shouldn't matter which one is used.

It is still my opinion that the DAW should be responsible to set MMCSS for the driver threads, not the driver itself. That way the DAW can decide what to use and how to tweak it. But Steinberg insisted on shifting MMCSS responsibility to the ASIO driver. Good thing that this is an optional switch in the RME drivers.

In any case there is little reason to expect much of a difference on a well set up system. MMCSS is a good compromise, but not necessarily the best possible solution to the priority problem. Curiously when MMCSS was introduces it was a necessity (due to priority conflicts with DWM) that hardly any DAW used. Now that computers have become much more powerful MMCSS isn't so necessary anymore.

Re: MMCSS is back (Time tunnel to 2008) - Driver Update

Hey all

I'm working with the new Universal Audio Thunderbolt Windows ASIO drivers.

Every time I open Ableton, it says Failed set MCSS Priority: UADASIO. Any ideas?

30

Re: MMCSS is back (Time tunnel to 2008) - Driver Update

Sure - in the UA forum...

Regards
Matthias Carstens
RME

Re: MMCSS is back (Time tunnel to 2008) - Driver Update

I am curious, are these MMCSS errors a DAW or driver issue?

32

Re: MMCSS is back (Time tunnel to 2008) - Driver Update

Pease note that I will delete any further post discussing a non-RME issue in this forum.

Regards
Matthias Carstens
RME

Re: MMCSS is back (Time tunnel to 2008) - Driver Update

I took this opportunity to do some quick tests:

The latest version of Ableton Live (9.7.1) does not override the MMCSS priority of RME drivers (if enabled) anymore.

Reaper may or may not override driver based MMCSS, depending on the Preferences set in Reaper.

Preferences -> Audio -> Device -> Audio thread priority:

ASIO Default / MMCSS Pro Audio / Time Critical: Keeps the driver based MMCSS priority intact (26 with RME drivers, if enabled, else non MMCSS priority 15)

Time Critical: Uses non MMCSS priority 15, regardless of driver settings

MMCSS / Time Critical: Uses MMCSS priority 24, but only if MMCSS is disabled in RME drivers, else it falls back to non MMCSS priority 15. This looks like either a bug in Reaper or at least a conflict between Reaper and drivers that shouldn't happen.

Any other software you want checked (should I be able to get my hands on it)?