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