Win32PrioritySeparation

Everything about latency. Tips, testing methods, mouse lag, display lag, game engine lag, network lag, whole input lag chain, VSYNC OFF vs VSYNC ON, and more! Input Lag Articles on Blur Busters.
slaver01
Posts: 89
Joined: 21 Sep 2020, 01:48

Win32PrioritySeparation

Post by slaver01 » 19 Apr 2021, 03:31

Yesterday I tested the various solutions of this mouse response guide's.
Open regedit and go to:
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\PriorityControl]
Add together the decimal values you want and enter that as a decimal to the Win32PrioritySeparation key. Example: 32+4+2. (You cannot use the third column unless you use variable quantum. If you are using fixed quantum, ignore the third column.)
Decimal 40 theoretically would provide the most responsive input at the expense of smoothness and FPS (short, fixed, no boost). Decimal 22 should provide the smoothest gameplay. Dec 37 is a mix between 40 and 38. There is no set answer here, so feel free to try out lots of options. There is no restart required so you can leave regedit open and keep trying different values while having your game open.
Possible options: decimal 21, 22, 24, 37, 38, 40

calypto guide's
For instance – what if you don’t care to increase the quantum on the foreground window but, instead, just want short, fixed quanta (effectively around 60ms) for all processes to improve response time on a system with a lot of processes? Setting Win32PrioritySeparation to 0x28 will take care of that.

2A Hex = Short, Fixed , High foreground boost.
29 Hex = Short, Fixed , Medium foreground boost.
28 Hex = Short, Fixed , No foreground boost.

26 Hex = Short, Variable , High foreground boost.
25 Hex = Short, Variable , Medium foreground boost.
24 Hex = Short, Variable , No foreground boost.

1A Hex = Long, Fixed, High foreground boost.
19 Hex = Long, Fixed, Medium foreground boost.
18 Hex = Long, Fixed, No foreground boost.

16 Hex = Long, Variable, High foreground boost.
15 Hex = Long, Variable, Medium foreground boost.
14 Hex = Long, Variable, No foreground boost.

Guru 3D

For FORTNITE: I've always used "16" Hexadecimal. but by entering Hexadecimal value "26" or even "2A", the game immediately became more smoother!!!

Can any of you more experienced confirm please?

empleat
Posts: 149
Joined: 28 Feb 2020, 21:06

Re: Win32PrioritySeparation

Post by empleat » 21 Jul 2021, 12:18

slaver01 wrote:
19 Apr 2021, 03:31
For FORTNITE: I've always used "16" Hexadecimal. but by entering Hexadecimal value "26" or even "2A", the game immediately became more smoother!!!

Can any of you more experienced confirm please?
This tweak is soo good!!! Thanks for bringing it to my attention! From calypso's guide, 40 will give you best response time. Holly shit!!! Now mouse feels almost instant, it is joke how much Win10 slows down cursor and some games! On Windows 7 cursor feels so much snappier! I have so much better time when tracking targets! He said to test it, you don't have to even restart so... 40 best IMHO, it gave me even more fps in benchmark for some reason. So unless you have fps drops... you can also try 37!

Also check this, I use 25 on 500hz polling rate, otherwise mouse becomes inconsistent and 1 ms timer resolution using ISLC.
https://www.youtube.com/watch?v=3irtOhKLPQ4

Also check in my guide (from the link below) smoothmousecurveX and disable dynamictick, people say it should auto-disable in-game, but i don't know last time i tested it i felt acceleration still and also you want consistent mouse even in windows so it doesn't mess up your muscle memory!

I use process lasso to automatically switch power profile to save power xD Microsoft dumb, they should let users customize timer resolution window per app, so in windows chrome doesn't force fastest window. 0.5ms vs 15.6 is eating megawatts on global scale - not even kidding, there was an article about it... I measure difference 4 watts...

User avatar
BTRY B 529th FA BN
Posts: 523
Joined: 18 Dec 2013, 13:28

Re: Win32PrioritySeparation

Post by BTRY B 529th FA BN » 21 Jul 2021, 12:42

You can further help the mouse by enabling Interrupt Moderation and setting the Interrupt Moderation to MEDIUM, in your NDIS properties. Reason: most people set the network throttling reg tweak to ffffffff and that significantly increases interrupts slowing the entire system down.

empleat
Posts: 149
Joined: 28 Feb 2020, 21:06

Re: Win32PrioritySeparation

Post by empleat » 21 Jul 2021, 16:02

BTRY B 529th FA BN wrote:
21 Jul 2021, 12:42
You can further help the mouse by enabling Interrupt Moderation and setting the Interrupt Moderation to MEDIUM, in your NDIS properties. Reason: most people set the network throttling reg tweak to ffffffff and that significantly increases interrupts slowing the entire system down.
Wouldn't this cause latency? My ndis is like <=100 us. It is in msi mode and otherwise optimized.

User avatar
BTRY B 529th FA BN
Posts: 523
Joined: 18 Dec 2013, 13:28

Re: Win32PrioritySeparation

Post by BTRY B 529th FA BN » 21 Jul 2021, 16:58

empleat wrote:
21 Jul 2021, 16:02
BTRY B 529th FA BN wrote:
21 Jul 2021, 12:42
You can further help the mouse by enabling Interrupt Moderation and setting the Interrupt Moderation to MEDIUM, in your NDIS properties. Reason: most people set the network throttling reg tweak to ffffffff and that significantly increases interrupts slowing the entire system down.
Wouldn't this cause latency? My ndis is like <=100 us. It is in msi mode and otherwise optimized.
You either deal with a choked system and lose more, or you balance the system out. Even at it's default of LOW it's choking throughput for me.

empleat
Posts: 149
Joined: 28 Feb 2020, 21:06

Re: Win32PrioritySeparation

Post by empleat » 21 Jul 2021, 17:32

BTRY B 529th FA BN wrote:
21 Jul 2021, 16:58
empleat wrote:
21 Jul 2021, 16:02
BTRY B 529th FA BN wrote:
21 Jul 2021, 12:42
You can further help the mouse by enabling Interrupt Moderation and setting the Interrupt Moderation to MEDIUM, in your NDIS properties. Reason: most people set the network throttling reg tweak to ffffffff and that significantly increases interrupts slowing the entire system down.
Wouldn't this cause latency? My ndis is like <=100 us. It is in msi mode and otherwise optimized.
You either deal with a choked system and lose more, or you balance the system out. Even at it's default of LOW it's choking throughput for me.
Again I had only <=100us, don't think it is a problem. I have Intel nic and everything other is tweaked for max performance. And games send a lot of packet, I don't want amount of packets sent at the time!

User avatar
BTRY B 529th FA BN
Posts: 523
Joined: 18 Dec 2013, 13:28

Re: Win32PrioritySeparation

Post by BTRY B 529th FA BN » 21 Jul 2021, 17:59

empleat wrote:
21 Jul 2021, 17:32
BTRY B 529th FA BN wrote:
21 Jul 2021, 16:58
empleat wrote:
21 Jul 2021, 16:02
BTRY B 529th FA BN wrote:
21 Jul 2021, 12:42
You can further help the mouse by enabling Interrupt Moderation and setting the Interrupt Moderation to MEDIUM, in your NDIS properties. Reason: most people set the network throttling reg tweak to ffffffff and that significantly increases interrupts slowing the entire system down.
Wouldn't this cause latency? My ndis is like <=100 us. It is in msi mode and otherwise optimized.
You either deal with a choked system and lose more, or you balance the system out. Even at it's default of LOW it's choking throughput for me.
Again I had only <=100us, don't think it is a problem. I have Intel nic and everything other is tweaked for max performance. And games send a lot of packet, I don't want amount of packets sent at the time!
I'm not talking about networking throughput i'm talking about system/game throughput being choked from too many networking interrupts thus bad mouse movement

empleat
Posts: 149
Joined: 28 Feb 2020, 21:06

Re: Win32PrioritySeparation

Post by empleat » 21 Jul 2021, 18:22

BTRY B 529th FA BN wrote:
21 Jul 2021, 17:59
empleat wrote:
21 Jul 2021, 17:32
BTRY B 529th FA BN wrote:
21 Jul 2021, 16:58
empleat wrote:
21 Jul 2021, 16:02

Wouldn't this cause latency? My ndis is like <=100 us. It is in msi mode and otherwise optimized.
You either deal with a choked system and lose more, or you balance the system out. Even at it's default of LOW it's choking throughput for me.
Again I had only <=100us, don't think it is a problem. I have Intel nic and everything other is tweaked for max performance. And games send a lot of packet, I don't want amount of packets sent at the time!
I'm not talking about networking throughput i'm talking about system/game throughput being choked from too many networking interrupts thus bad mouse movement
Yeah I know and I told you I had highest execution time <=100 us. I could check number of interrupts too, with and without. That's actually good idea and also try if I can feel anything. Thanks for suggestion. And if you don't do anything on background, there won't be much network traffic anyways.

EDIT:
so from a short test: it lowered NDIS DPC latency (highest execution time) from 97 to 32us. Also I had previously spikes to 211us for "highest measured interrupt to user latency" and now this is actually 31, or 50us only. And "Average measured interrupt to process latency" from 8us dropped to 1.6us. In calypso guide is: you want this under 0.4us. I can't disable HPET on ASUS mobo so not sure, if this is achievable! BTW interrupt moderation was set to medium. Although on speedguide, they recommend off for minimum latency, not sure if they factor throttling index into it.

Also this was just latencymon, which already simulates load. While if it is just game running and nothing on background, I don't think there are that many packets, that interrupt moderation off would caused that much DPC latency, but I could be wrong, since I Am not an networking expert. Maybe it is worth to ask on speedguide.net...

I tested it on PUBG where there is huge input lag hardcoded into the game and it actually helped, now mouse movement is smoother and more consistent, especially noticeable when doing small adjustments! That was with throttling index: ffffffff (8 f) and interrupt moderation set to medium. I didn't notice any ping change.

jerofino
Posts: 3
Joined: 23 Jul 2021, 10:07

Re: Win32PrioritySeparation

Post by jerofino » 23 Jul 2021, 10:19

empleat wrote:
21 Jul 2021, 12:18
slaver01 wrote:
19 Apr 2021, 03:31
For FORTNITE: I've always used "16" Hexadecimal. but by entering Hexadecimal value "26" or even "2A", the game immediately became more smoother!!!

Can any of you more experienced confirm please?
Also check this, I use 25 on 500hz polling rate, otherwise mouse becomes inconsistent and 1 ms timer resolution using ISLC.
I had to remove the youtube link from quote to reply this.

Does this MouseDataQueueSize tweak really work? I tried 25 and I felt it was faster in my pc only, but the hit registration didnt change a thing in csgo.

MatrixQW
Posts: 278
Joined: 07 Jan 2019, 10:01

Re: Win32PrioritySeparation

Post by MatrixQW » 23 Jul 2021, 11:53

BTRY B 529th FA BN wrote:
21 Jul 2021, 12:42
You can further help the mouse by enabling Interrupt Moderation and setting the Interrupt Moderation to MEDIUM, in your NDIS properties. Reason: most people set the network throttling reg tweak to ffffffff and that significantly increases interrupts slowing the entire system down.
I/O threads (mouse, keyboard, disk and screen) have higher priority over CPU threads so it shouldn't be an issue or else the mouse would stop responding for brief moments.
Disabling it will increase CPU usage.

Games don't usually transfer enough packets to reach Interrupt Moderation's minimum rate (depends on what the driver sets), it won't be used, even with network throttling disabled. That's why there is no ping difference and therefore no latency penalty.
With some drivers, maybe only works for TCP and not UDP.
But network throttling adds latency if it isn't disabled. Default is 10 packets per milisecond.

Realtek ethernet driver sets IRQ interrupt priority to high.
Might be good for servers but I don't think this is good for normal users because it will affect the rest of the devices.
MSI mode utility can change it.
Other network settings like offloading help reduce interrupts but CPU is faster than ethernet so i'm not sure if it's worth it.

Win32PrioritySeparation on a similar way, having a large quantum might be good for resources but could affect latency.

Post Reply