windows tweaks guide. (Nagle's Algorithm and system gaming responsiveness)
Nagle’s Algorithm
Nagle’s algorithm combines several small packets into a single, larger packet for more efficient transmissions. This is designed to improve throughput efficiency of data transmission. Disabling “nagling” can help reduce latency/ping in some games. Nagle’s algorithm is enabled in Windows by default.
To implement this tweak, modify the following registry keys.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{NIC-id}
For the {NIC-id}, look for the one with your IP address listed. Under this {NIC-id} key, create the following DWORD value:
TcpAckFrequency and set it to 1 to disable “nagling” for gaming.
TCPNoDelay and set it also to 1 to disable “nagling”
TcpDelAckTicks and set it to 0
Note: Some reports say that the tweaks did reduce latency when playing Dota 2 and League of Legends but it doesn’t work for some. I have tried it and my latency improved from 110 to 90ms (SEA Server) when playing Dota 2.
Network Throttling Index
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 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.
System Gaming Responsiveness
Multimedia streaming and some games that uses “Multimedia Class Scheduler” service (MMCSS) can 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 gaming/streaming.
In the same Registry hive as the above tweak, you can also change the priority of Games. To implement this tweak, go to 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.
~ Reboot your PC to confirm and apply the changes ~