Home /
Nagle's Algorithm
⚡ Nagle's Algorithm
Disable Nagle's algorithm to reduce latency in MMO games and interactive applications
📋 What is it?
Nagle's algorithm combines multiple small packets into one larger packet to improve efficiency. This reduces overhead but introduces a small delay that can be problematic for gaming.
🎯 Benefits of Disabling
- Reduces latency up to 50% in MMOs like WoW and Diablo III
- Improves response time in FPS and MOBA games
- Eliminates micro-stuttering in constant connections
⚠️
⚠️ Warning
Disabling Nagle can reduce performance in large file transfers. Only recommended for gaming-dedicated systems.
💻 How to Disable
Step 1: Find your NIC ID
Get network adapter GUID powershell
Get-NetAdapter | Select-Object Name, InterfaceGuid Registry path is: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\
Step 2: TcpAckFrequency
| Default value: | 2 (200ms delay) |
| Recommended: | 1 (disables nagling) |
Create TcpAckFrequency powershell
# Replace NIC-ID with your GUID
$nicPath = "HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{NIC-ID}"
New-ItemProperty -Path $nicPath -Name "TcpAckFrequency" -PropertyType DWord -Value 1 -Force Step 3: TCPNoDelay
Create TCPNoDelay powershell
$nicPath = "HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{NIC-ID}"
New-ItemProperty -Path $nicPath -Name "TCPNoDelay" -PropertyType DWord -Value 1 -Force Step 4 (Optional): TcpDelAckTicks
Configure TcpDelAckTicks powershell
$nicPath = "HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{NIC-ID}"
New-ItemProperty -Path $nicPath -Name "TcpDelAckTicks" -PropertyType DWord -Value 0 -Force For MSMQ (if applicable)
TCPNoDelay for MSMQ powershell
$msmqPath = "HKLM:\SOFTWARE\Microsoft\MSMQ\Parameters"
New-ItemProperty -Path $msmqPath -Name "TCPNoDelay" -PropertyType DWord -Value 1 -Force 💡
💡 Tip
Works on Windows 7, 8, 10 and 11. Also slightly improves WiFi performance.
🔄 Revert Changes
Remove configurations powershell
$nicPath = "HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{NIC-ID}"
Remove-ItemProperty -Path $nicPath -Name "TcpAckFrequency" -ErrorAction SilentlyContinue
Remove-ItemProperty -Path $nicPath -Name "TCPNoDelay" -ErrorAction SilentlyContinue ⚠️
⚠️ Important
- Restart: Restart Windows to apply changes
- PowerShell Admin: Run as Administrator
- Backup: Create restore point