STEAM GROUP
Special K - "Kaldaien's Mod" Special☆K
STEAM GROUP
Special K - "Kaldaien's Mod" Special☆K
458
IN-GAME
3,393
ONLINE
Founded
May 23, 2016
Language
English
All Discussions > Development > Topic Details
Stonga Oct 20, 2018 @ 2:28am
Multimedia Class Scheduling (AC Odyssey)
I'm wondering if I have to enable MMCSS again in Windows 10 again for this mod to work? I've disabled it previously for performance related issues.
< >
Showing 1-12 of 12 comments
Kaldaien Oct 20, 2018 @ 4:13am 
You what?

That sounds like a terrible idea. XAudio, the NVIDIA driver and most video capture software requires MMCS. You could turn the responsiveness target down to 10%, but disabling it is going to make a lot of things not work.
Aemony Oct 20, 2018 @ 4:18am 
MCSS needs to be enabled in Windows for Special K to make use of it, yes.
Kaldaien Oct 20, 2018 @ 4:25am 
Nothing particularly useful is going to happen if MMCS isn't working because I addressed priority inversion on the disk threads using MMCS rather than normal priority scheduling.
Stonga Oct 20, 2018 @ 5:07am 
I'm not totally sure if it's disabled, but I did a registry tweak when I re-installed Windows 10.

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

Added this DWORD:
“SystemResponsiveness” = 0x00000000
Last edited by Stonga; Oct 20, 2018 @ 5:08am
JBeckman Oct 20, 2018 @ 5:09am 
Ah that doesn't disable it.

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 gaming/multimedia performance)

Notes: The number in this key is rounded by MMCSS to the nearest 10. In some server operating systems (Windows 2008 Server), the SystemResponsiveness may be set to 100, instead of 20 by default. This is by design, giving higher priority to background services over multimedia.

Though I wouldn't put too much stock in these tweaks without a lot of testing but you haven't disabled MMCS. :)
(From: https://www.reddit.com/r/killerinstinct/comments/4fcdhy/an_excellent_guide_to_optimizing_your_windows_10/ Which yeah I would be a bit wary of some of these but eh nothing wrong with trying as long as you remember what you tweaked and can set it back if needed.)


EDIT: Ah that's a bit better, there's the doc for it.
https://docs.microsoft.com/en-us/windows/desktop/procthread/multimedia-class-scheduler-service

EDIT: I was too late ha ha, already covered in the post below this one. :D
Last edited by JBeckman; Oct 20, 2018 @ 5:12am
Aemony Oct 20, 2018 @ 5:10am 
Originally posted by Stonga:
I'm not totally sure if it's disabled, but I did a registry tweak when I re-installed Windows 10.

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

Added this DWORD:
“SystemResponsiveness” = 0x00000000

If that's the only thing you've changed, and you're using Windows 10, then MCSS should still be available (you can use the Threads widget of Special K to confirm it).

Originally posted by Microsoft:
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.

Source: https://docs.microsoft.com/en-us/windows/desktop/procthread/multimedia-class-scheduler-service
JBeckman Oct 20, 2018 @ 5:13am 
Good to see it rounding down to the nearest of 10 so 0 is essentially the same without completely breaking anything if the user was trying to bypass the feature by setting it to nothing. :)
Last edited by JBeckman; Oct 20, 2018 @ 5:13am
Stonga Oct 20, 2018 @ 5:24am 
I did notice improvements to the CPU usage when using SpecialK after enabling the tweak ingame. I'm running around Athens and none my cores goes to 100 percent anymore. Previously when one of my cores reached 100 percent, my GPU could not reach it's potential. Only bottleneck now sometimes is my GPU. Usually in some cut scenes. I've only had issues in large towns previously, not anywhere else.

I'm running everything on max except Volumetric Clouds at High, Fog at Medium and Anti-Aliasing at Medium. 1440p. Capped at 60 fps because I'm playing on my 4k TV. The frame limiter in SK seems pretty good when it comes to framepacing/frametimes.

I7 4790k @ 4.6ghz
16gb of 1600mhz DDR3 9-9-9-24-1T
1080 GTX Strix slightly overclocked core and memory.
EVO 850
Last edited by Stonga; Oct 20, 2018 @ 5:46am
Stonga Oct 22, 2018 @ 7:26am 
Is it possible to get stable frametimes when vsync is enabled? I've noticed when using the KS framelimiter, my fps seems to go above 60fps quite alot.
Kaldaien Oct 22, 2018 @ 8:50am 
Originally posted by Stonga:
Is it possible to get stable frametimes when vsync is enabled? I've noticed when using the KS framelimiter, my fps seems to go above 60fps quite alot.
No. It's designed to do that to prevent stuttering.


It measures the health, so to speak, of the last 120 frames.

When the variation between frametimes becomes too large, the limiter disengages and allows the CPU to render-ahead of the GPU until the event that caused stuttering eventually works itself out. Then the limiter re-engages and the end-result of all this is no perceived stutter.

You can stare at the frametime graph if you want and notice that something weird happened, but my framerate limiter isn't there for the purpose of limiting your framerate unconditionally. It's there to produce smooth, stutter free rendering.
Last edited by Kaldaien; Oct 22, 2018 @ 9:14am
Stonga Oct 23, 2018 @ 8:07am 
Originally posted by Kaldaien:
Originally posted by Stonga:
Is it possible to get stable frametimes when vsync is enabled? I've noticed when using the KS framelimiter, my fps seems to go above 60fps quite alot.
No. It's designed to do that to prevent stuttering.


It measures the health, so to speak, of the last 120 frames.

When the variation between frametimes becomes too large, the limiter disengages and allows the CPU to render-ahead of the GPU until the event that caused stuttering eventually works itself out. Then the limiter re-engages and the end-result of all this is no perceived stutter.

You can stare at the frametime graph if you want and notice that something weird happened, but my framerate limiter isn't there for the purpose of limiting your framerate unconditionally. It's there to produce smooth, stutter free rendering.

Ah I see. That make sense. I don't feel any stuttering when it happens, I just see shit going on on the frametime graph. I can't stand the tearing without vsync so I have to keep it enabled. Using a framelimiter with vsync enabled is kinda useless I guess then?

One more question. Under Advanced in the framelimiter, there is a option called "Use Multimedia Task Scheduling" 0-4. What does it do and what should it be set on? Is it related to "Maximum pre-rendered frames" in the Nvidia control panel?
Last edited by Stonga; Oct 23, 2018 @ 8:08am
Kaldaien Oct 23, 2018 @ 3:13pm 
No, there's still a reason to use framerate limiting with VSync. But .. it's important that a framerate limiter looks for the tell-tale signs of VSync and adjust its timing if the two limiting factors start to drift apart (which happens constantly if the VSync refresh rate and target framerate aren't divisible).


Also, that setting is apparently not what you think it is :)

The slider is "When to apply framerate limiting." It's there in case some other software is drawing an overlay after Special K is.

It's not a saved setting since it's experimental and it defaults to 4 (immediately before my UI is drawn)
Last edited by Kaldaien; Oct 23, 2018 @ 3:15pm
< >
Showing 1-12 of 12 comments
Per page: 1530 50

All Discussions > Development > Topic Details