• SONAR
  • Sonar Optimize Win 10 : MMCSS
2017/06/23 03:06:23
taccess
https://www.reddit.com/r/killerinstinct/comments/4fcdhy/an_excellent_guide_to_optimizing_your_windows_10/
 
Found this thread , its short but it looks like it packs a HUGE surprise and not something i have come across in DAW optimization ,well this particular section of REGEDIT , and it seems like it has some really good information that instead of gaming could be used for Audio/DAW. So i have swapped out Gaming For DAW below to make it easier to digest .
 
I am wondering if anyone can make suggestions if it could be made to make Win 10 better for Sonar.
 
I am thinking HELL YES :
 
1) Windows implements a network throttling mechanism, the idea behind such throttling is that processing of network packets can be a resource-intensive task. It is beneficial to turn off such throttling for achieving maximum throughput. To implement this tweak, run regedit and modify the registry key:
 
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile. Under SystemProfile, create a DWORD value and name it to “NetworkThrottlingIndex” then set its Hexadecimal value to ffffffff for gaming and max throughput: ffffffff completely disables throttling
 
2) DAWs that uses “Multimedia Class Scheduler” service (MMCSS) an only utilize up to 80% of the CPU. The “Multimedia Class Scheduler” service (MMCSS) ensures prioritized access to CPU resources, without denying CPU resources to lower-priority background applications. To implement this tweak, run regedit and modify the registry key:
 
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile. From there, create a new DWORD and name it to “SystemResponsiveness” set its hexadecimal value to 00000000 ( for pure  > DAW )
 
2a) In the same Registry hive as the above tweak, you can also change the priority of Games. 
To implement this tweak: 
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile\Tasks\Games and change the following registry values:
“GPU Priority” change its values to 8 for gaming.
“Priority” set to 6 for gaming.

 
( I am thinking For DAWs :  https://msdn.microsoft.co...ms684247(v=vs.85).aspx
  • Audio : ( affinity left alone ) (background only = false )(GPU Priority=8 minimum percentage)( Priority =8 high)( scheduling category = High  )(scheduling category =High )( SFIO =High )
  • Capture : ?
  • Distribution : ?
  • Games : ?
  • Playback :( affinity left alone ) (background only = false )(GPU Priority=8 minimum percentage)( Priority =8 high)( scheduling category = High  )(scheduling category =High )( SFIO =High )
  • Pro Audio :( affinity left alone ) (background only = false )(GPU Priority=8 minimum percentage)( Priority =8 high)( scheduling category = High  )(scheduling category =High )( SFIO =High )
    Window Manager : ?
more info:
http://www.installsetupco...readsprocessapis7.html
http://www.installsetupconfig.com/win32programming/windowsthreadsprocessapis7_1.html
http://www.installsetupconfig.com/win32programming/windowsthreadsprocessapis7_2.html
http://www.installsetupconfig.com/win32programming/windowsthreadsprocessapis7_3.html
http://www.installsetupco...adsprocessapis7_4.html
http://www.installsetupconfig.com/win32programming/windowsthreadsprocessapis7_5.html
http://www.installsetupconfig.com/win32programming/windowsthreadsprocessapis7_6.html
http://www.installsetupconfig.com/win32programming/windowsthreadsprocessapis7_7.html
http://www.installsetupconfig.com/win32programming/windowsthreadsprocessapis7_8.html
http://www.installsetupconfig.com/win32programming/windowsthreadsprocessapis7_9.html
 
3) DAW applications use the "Multimedia Class Scheduler" service (MMCSS) to ensure prioritized access to CPU resources, without denying CPU resources to lower-priority background applications. However, this also reserves 20% of CPU by default for background processes, your multimedia streaming and some games can only utilize up to 80% of the CPU. This setting, in combination with the above "NetworkThrottlingIndex" can help some games and video streaming.
We recommend reducing the reserved CPU for background processes from the default of 20% .
To implement this tweak, run regedit and modify the registry key:
 
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile SystemResponsiveness=10 (DWORD, default is 20 denoting 20% of CPU reserved, recommended: decimal 10, or 0 for pure DAW Performance)
 
I have not changed anything yet because if i do it will be to better Win 10 for Sonar, so i want to hear what other people using platinum think ?
Which of these settings do u believe will be best for Platinum ?
2017/06/23 03:31:49
taccess
Just Going through AUD.ini file and found :
 
Cakewalk uses :PRO AUDIO / so adjusting these setting i believe would benefit Splat, i also believe that the current default settings for Pro Audio should be tweaked ?
 
MMCSSTaskKey=<task name>Name Pro Audio
By default, SONAR uses the MMCSS task profile named Pro Audio. If desired, you can instruct SONAR to use a custom MMCSS task profile.
 
Does anyone agree that if sonar uses pro audio that the default setting should changed to :
Pro Audio :
( affinity left alone )
( Background only = false )  Currently True , this looks incorrect to me because Pro Audio should be Foreground Focused !
( GPU Priority=8 ) Currently 8 which is low and although this could go to 1 really low i am not sure if this is a good idea
( Priority= 8 high ) Currently 1 LOW , this looks incorrect to me
( scheduling category = High ) Currently High , so it should be
( SFIO = High )Currently Normal , This also looks incorrect to me
 
??
2017/06/23 07:16:02
werewindle
I also change the core management profile from balanced to highest performance and high I/O priority, didn't worry about RAM priority as I have 64GB.
Also removed affinity for cpu 18 as for some reason windows seems to like loading initially on last cpu - 1 for some reason.
Use Process Lasso Pro to do all the above which I found mentioned in another thread. Still doing further tweaking and the above looks like usefully additions.
2017/06/27 08:42:05
Timur Born
taccess3) DAW applications use the "Multimedia Class Scheduler" service (MMCSS) to ensure prioritized access to CPU resources, without denying CPU resources to lower-priority background applications. However, this also reserves 20% of CPU by default for background processes, your multimedia streaming and some games can only utilize up to 80% of the CPU.
...
We recommend reducing the reserved CPU for background processes from the default of 20% .
...
SystemResponsiveness=10 (DWORD, default is 20 denoting 20% of CPU reserved, recommended: decimal 10, or 0 for pure DAW Performance)

There is some misconception here!
 
- First of all, the minimum value is 10%, there is no 0%!
 
"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."
 
- Last time I dealt with Sonar it set this to 10% on its own. This may or may not have changed meanwhile.
 
- And the most important part: This is *not* a permanent reservation, and thus not a permanent throttling! If no background processes need extra CPU time then your audio process get close to 100% CPU time. The 10-20% are only reserved for when your audio process hogs the CPU while another process needs the CPU at the same time. And even then these background processes only get as much CPU time as needed and only up to 10-20%, if it needs 1% it only get 1% and Sonar can keep using 99%.
 
This is a compromise meant to keep the audio process from stalling the whole system. The main drawback of this compromise is that even a priority 1 (lowest possible) process can use CPU time while your priority 26 (realtime) audio process is active. You can test this by running the Prime95 stress test (priority 1) in the background or doing some Windows explorer/start menu stuff while Sonar is heavily loaded over 80-90%.
 
If you don't want to use this compromise then you need to give Sonar "Realtime" priority (31!) via Task-Manager or Process Lasso.
 
Alternatively you can disable MMCSS if you have background processes with somewhat constant load interfering with Sonar. The main reason for MMCSS to be implemented is that the Windows "Desktop Windows Manager" DWM makes use of the same priority 15 (highest non realtime) that audio processes use without MMCSS. That was a problem with old hardware of Vista days, but nowadays DWM usually makes only for a tiny amount of CPU load (currently 0.12% on my PC). Of course there could be other process making trouble, so you need to check your specific system.
2017/06/27 15:59:13
Rob[at]Sound-Rehab
So are you saying these days MMCSS does not make difference? This was my impression when fiddling with it ...
2017/06/27 16:24:29
Timur Born
It still enables DAW software to use "realtime" priorities without the danger of stalling the whole system. And the "distance" between other processes' priorities and DAW priorities is "longer" that way, aka pushing DAW processes more in comparison.
 
If you have control over what's running on your computer then it's not unlikely that you don't see much/if any of a difference. It's a compromise for solving a problem, no problem = no solution needed.
2017/06/27 16:32:05
bitflipper
Two points to keep in mind. First, MMCSS was invented mainly for the purpose of avoiding audio dropouts, and secondarily to prevent system hangs due to CPU hogs (e.g. the audio driver!). Second, SONAR manages MMCSS itself, and it knows what it needs. Disabling MMCSS might help some applications, but would take away the ability of MMCSS-aware applications to manage their own thread priorities. Like SONAR.
 
Every DAW manages thread priorities differently, so beware of generic advice that might have been formulated by, say, an Ableton Live user. That observer's experiences might well differ from your own.
 
Some people complain that SONAR is one of the few Windows-only DAWs and (inexplicably) pine for a Mac port -- I feel exactly the opposite: SONAR's tight integration into and exclusive focus on Windows is a good thing!
 
P.S. I was typing my reply at the same time as Timur Born, and might not have replied had I known he was about to weigh in. Listen to this guy, he is an expert.
2017/06/27 16:48:48
Timur Born
My opinion is that DAWs should handle their priorities, including MMCSS priorities of their audio driver thread. Unfortunately Steinberg thinks differently and did not allow me to persuade them otherwise. According to the current ASIO standard every audio driver should use MMCSS permanently for ASIO. In practice this is not the case, especially for older hardware.
 
Some software even gets in trouble when the audio driver pushes its own thread to MMCSS while the DAW threads run at lower priorities. Two examples are Reaper before it introduced MMCSS on its own and Live before it included a (non optional) workaround that forces the driver threads back down to priority 15 (non MMCSS). I know of at least one intermediate Live version where this ceased to work, but was fixed again later.
 
It's still a mess, which is why RME's driver allows to switch driver based MMCSS on/off. Since Sonar handles MMCSS by itself you should turn the RME driver MMCSS option *off*, for Cubase should turn it on, other software varies.
2017/06/27 17:09:49
Sanderxpander
I don't fully comprehend this, I use an RME UCX which should... NOT use MMCSS because Sonar handles it? And Ableton has a "workaround"? So do I turn it off or on when I use Ableton?
2017/06/27 17:37:53
Timur Born
Turn off RME MMCSS for Sonar, Sonar will activate it own its own.
Turn off RME MMCSS for Live, Live would deactivate it anyway (unless it's bugged again).
Turn on RME MMCSS for Cubase, Steinberg expect this to be handled by the driver instead of the DAW (and wants all DAWs and drivers to work that way).
© 2025 APG vNext Commercial Version 5.1

Use My Existing Forum Account

Use My Social Media Account