- Disable "Inbound Layer 7" on your router
- Reducing the Network latency to eliminate microstuttering in games
See "How to temporarily prevent a driver update from reinstalling in Windows 10". Another alternative is using WuMGr which is basically a front-end for Windows crippled Windows Update interface, it basically spoken can take control over the Windows Updater mechanism by e.g. settings registry/gpo settings and also includes some more options to handle updates.
Some Intel Wireless adapters and Atheros adapters are known to cause some small latency spikes (original link dead!). On older operating systems WLAN Optimizer tool was a workaround to resolve this issue, since Windows 10 you can do this directly under Windows without any tools.
Some newer drivers also including an option in the network adapter option to configure/enable/disable the Wi-Fi scan interval.
- Go to the
Control Panel
. - Choose
Networks and Sharing
andChange Adapter Settings
. - Right-click on your
Wi-Fi adapter icon
and selectProperties
. - Click
Configure
which is located underConnect Using
. - Go to the
Advanced
tab. - Set
Background Scan
toDisabled
. - Set
Foreground Scan
toDisabled
.
- Type
ncpa.cpl
into the Windows search box which opens the Network Connectivity Manager - Right-click on the
Wi-Fi adapter icon
and selectProperties
. - Click the
Configure
button on the driver property page. - On the
Advanced tab
, scroll down theProperty
list and setRoaming Aggressiveness
toLowest
. - Click
OK
to apply it to all opened settings.
Some Windows 10 Builds (not all, some need to change the registry toggle because it's locked service task) allowing you to disabling the Wireless Autoconfig
service, this prevents Windows to search for new Wi-Fi networks in general (useful if you're only connected via ethernet).
Network adapter settings are usually accessed through it's driver properties. From "Device Manager", or by right-clicking the adapter connection, choosing properties and then configure.
Keep in mind that some drivers might have different settings/options! After talking with NordVPN I figured out with them that some settings might directly have a negative effect on Down-/Upload speed. Ensure you test each settings one by one. In this case try to disable all "offloading" params.
- Disable Interrupt Moderation Rate (if not possible decrease the size)
- Disable Offload TCP Segmentation
- Increase Transmit Descriptors
- Increase Receive Descriptors
- Increase RSS Queues
- Enable Jumbo Frames
- Increase Transmit Descriptors
- Increase Receive Descriptors
- Maximize Interrupt Moderation Rate
- Keep Receive Descriptors at default
- Avoid setting large Receive Descriptors
- Decrease RSS Queues
- Decrease the Max number of RSS CPUs in Hyper-V environments
Disable
Adaptive Inter-Frame SpacingDisable
Flow ControlDisable
Interrupt Moderation- Set Interrupt Moderation Rate to
OFF
(not needed if you disable Interrupt Moderation) - Set Enable PME to
Disabled
Disable
all “Offload” featuresDisable
Packet Priority & VLANDisable
Jumbo Packet- Set Receive Side Scaling (RSS) -
ENABLED
- RSS Balancing Mode -
NUMAScaling
- Don't touch Speed & Duplex, leave it on Auto Negotiation
netsh interface teredo set state disabled
netsh interface 6to4 set state disabled
netsh winsock reset
netsh interface isatap set state disable
netsh int tcp set global timestamps=disabled
netsh int tcp set heuristics disabled
netsh int tcp set global autotuninglevel=disable
netsh int tcp set global congestionprovider=ctcp
netsh int tcp set supplemental Internet congestionprovider=CTCP
netsh int tcp set global chimney=disabled
netsh int tcp set global ecncapability=disabled
netsh int tcp set global rss=enabled
netsh int tcp set global rsc=disabled
netsh int tcp set global dca=enabled
netsh int tcp set global netdma=enabled
PowerShell Disable-NetAdapterChecksumOffload -Name "*"
PowerShell Disable-NetAdapterLso -Name "*"
PowerShell Disable-NetAdapterRsc -Name "*"
PowerShell Disable-NetAdapterIPsecOffload -Name "*"
PowerShell Disable-NetAdapterPowerManagement -Name "*"
PowerShell Disable-NetAdapterQos -Name "*"
It depends on how you set up your QoS/WMM. QoS is useful in scenarios where your network experiences peak or near-peak loads on a routine basis. If the network is not under significant load, QoS rules will not be applied, the same goes if your router is not configured to use QoS or the firmware doesn't includes it.
For example, if you live alone, don't play online games, don't use VOIP, don't use video streaming services (Netflix/Amazon/Hulu/Twitch.tv & YouTube), or don't use P2P file sharing - QoS is not going to be all that beneficial to you.
- Check if you're ISP offers a QoS package to residential connections (most do)
- Check your Router QoS settings
- Check your OS QoS options
In general I recommend to leave it enabled. If there some problems check your configuration instead, I did some benchmarks and I never found any impact (because my router isn't configured to use it). It's right that Windows reserves some bandwidth but that doesn't matter because your router might ignore the flags.
Layer 7 filtering or shaping is identifying traffic at layer 7 (Application Layer) of the OSI model. Instead of shaping/filtering based on the port and source/destination, you are identifying a stream based on its contents. This is also sometimes called deep packet inspection since it works by looking into the contents of the packets not just the headers. If you're concerned about performance: IPP2P and especially L7 are slower than simple IP, MAC or port matches. L7 can't cope well with encrypted P2P traffic in background while gaming.
- Enable SYN cookies
- Disable IPv6 tunnel adapter & interfaces
- Disable all ISATAP, 6to4 and Teredo Tunneling interfaces
- Ensure Windows Defender Core Isolation stays disabled (default) it can causes 'lags' with several older games
- Disable the Timeline function, it eats HDD space in order to collect your history or if you use it, ensure e.g. CCleaner cleans it -> bigger file means longer loading times.
netsh interface teredo set state disable
netsh interface 6to4 set state disable disable
netsh interface isatap set state disable
REG ADD "HKLM\SYSTEM\CurrentControlSet\services\TCPIP6\Parameters" /v "EnableICSIPv6" /t REG_DWORD /d 0 /f
REG ADD "HKLM\SYSTEM\CurrentControlSet\services\TCPIP6\Parameters" /v "DisabledComponents" /t REG_DWORD /d 255 /f
Keep in mind that every modern Router firmware has an option to block or at least filter Teredo traffic, same like NetBios which means you don't need to 'disable' everything blindly because nothing can pass the router anyway!
The Multimedia Class Scheduler Service has built-in network throttling which can degrade performance of online games. That's the theory.
This network tweak aims to reduce the network latency, however this tweak is controversial because modern network cards/adapters already handlining it very well. The values are depending on AvSetMmMaxThreadCharacteristics()
& AvSetMmThreadCharacteristics()
and what Windows 10 version you use, most mentioned entries are already set by default to a good value.
Whenever you load a thread for this e.g. while gaming it must use these two API's otherwise nothing will happen. So this depends how the game implemented the netcode. More information regarding this topic is avbl. over here, here and here.
The task priority ranges from 1, which represents "low" to 8, which represent "high". However, the scheduling category overrides this, so that if scheduling category is automatically to "High", then the priority value is automatically set to 2 (unless gaming mode was activated and the game supports it).
Windows Registry Editor Version 5.00
; I do not recommended using this!
; Starting with Windows 1909 this is not anymore needed.
; https://github.com/NoelJacob/GamingTweaks/issues/5
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile]
"NetworkThrottlingIndex"=dword:ffffffff
"SystemResponsiveness"=dword:00000000
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile\Tasks\Games]
"Scheduling Category"="High"
"SFIO Priority"="High"
"Background Only"="False"
"Priority"=dword:00000001
"Clock Rate"=dword:00002710
"GPU Priority"=dword:00000001
"Affinity"=dword:00000000
Multimedia streaming and some other games that uses Multimedia Class Scheduler service (MMCSS) can only utilize up to 80% of your CPU. MMCSS ensures prioritized access to CPU resources, without denying CPU resources to lower-priority background applications.
If a game supports explicitly Game Mode, then this old "tweak" is redundant (after Windows 10 1809+ due to Game Mode changes) (assuming you use + enabled Game Mode). If the netnode differs or was optimized then it's also obsolete since the Game internally handles it different. So overall spoken it's depending on the Game, one example is the old Call of Duty, this game can get a benefit from using the mentioned tweak but that's the only game I found (so far).