CodeXtremeOS
Win Optimizer

Nagle Algorithm

Advanced Windows system optimization

🔧

Nagle Algorithm

Optimization Category

Understanding Nagle Algorithm

Medium

Learn what Nagle algorithm does and why disabling it helps gaming

💡 Understanding helps determine if disabling Nagle is right for your use case

What is Nagle Algorithm?

ℹ️
Nagle algorithm combines several small packets into one larger packet to improve efficiency. This reduces network overhead but introduces a small delay (up to 40ms) that can be problematic for gaming and real-time applications.

Benefits of Disabling

ℹ️
- Reduces latency up to 50% in MMOs like World of Warcraft and Diablo III - Improves response time in FPS and MOBA games - Eliminates micro-stuttering on consistent connections - Better real-time communication

Caution

⚠️
Disabling Nagle can reduce performance on large file transfers. Only recommended for gaming-focused systems.

Find Network Adapter GUID

Medium

Locate your network adapter's GUID for registry configuration

💡 Required first step to apply Nagle algorithm tweaks to the correct NIC

Get Network Adapter GUID

This command lists all network adapters and their GUIDs. Find your active gaming network adapter.
PowerShell / CMD
Get-NetAdapter | Select-Object Name, InterfaceGuid

Registry Path

ℹ️
Registry location for network settings: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{NIC-GUID}

Configure TcpAckFrequency

Medium

Disable TCP acknowledgment delay to reduce latency

💡 Main setting for Nagle algorithm optimization

Set TcpAckFrequency to 1

Default value: 2 (introduces ~200ms delay through Nagle algorithm) Recommended: 1 (disables Nagle buffering) Replace {NIC-GUID} with your adapter's GUID from previous step.
PowerShell / CMD
$nicPath = "HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{NIC-GUID}" New-ItemProperty -Path $nicPath -Name "TcpAckFrequency" -PropertyType DWord -Value 1 -Force

Important

⚠️
Replace {NIC-GUID} with your actual network adapter GUID. Get it from the previous step.

Enable TCPNoDelay

Medium

Disable TCP Nagle algorithm at the protocol level

💡 Ensures immediate packet transmission without buffering

Set TCPNoDelay to 1

TCPNoDelay disables Nagle algorithm completely. Value 1 = Enabled (disables Nagle). Replace {NIC-GUID} with your adapter's GUID.
PowerShell / CMD
$nicPath = "HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{NIC-GUID}" New-ItemProperty -Path $nicPath -Name "TCPNoDelay" -PropertyType DWord -Value 1 -Force

Configure TcpDelAckTicks (Optional)

Medium

Fine-tune TCP delayed acknowledgment timing

💡 Further reduces acknowledgment delay for ultra-low latency

Set TcpDelAckTicks to 0

TcpDelAckTicks controls the number of acknowledgments delayed. Setting to 0 means no delay. Replace {NIC-GUID} with your adapter's GUID.
PowerShell / CMD
$nicPath = "HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{NIC-GUID}" New-ItemProperty -Path $nicPath -Name "TcpDelAckTicks" -PropertyType DWord -Value 0 -Force

Note

ℹ️
This setting is optional but recommended for maximum latency reduction in competitive gaming.

Enable TCPNoDelay for MSMQ

Medium

Apply TCPNoDelay to Message Queuing if you use MSMQ

💡 Ensures MSMQ uses low-latency TCP communication

Set MSMQ TCPNoDelay

If you use MSMQ (Message Queuing), apply TCPNoDelay setting at the MSMQ level.
PowerShell / CMD
$msmqPath = "HKLM:\SOFTWARE\Microsoft\MSMQ\Parameters" New-ItemProperty -Path $msmqPath -Name "TCPNoDelay" -PropertyType DWord -Value 1 -Force

When to Use

ℹ️
Only applies if you use MSMQ for enterprise messaging. Skip if you don't use MSMQ.

Verify Nagle Settings

Medium

Check that your Nagle algorithm settings were applied correctly

💡 Confirms configuration changes took effect

Check Registry Values

After applying settings, verify they appear in the registry. Replace {NIC-GUID} with your adapter GUID.
PowerShell / CMD
Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{NIC-GUID}" | Select-Object TcpAckFrequency, TCPNoDelay, TcpDelAckTicks

Expected Values

ℹ️
TcpAckFrequency: 1 TCPNoDelay: 1 TcpDelAckTicks: 0

Revert Nagle Changes

Medium

Remove Nagle algorithm modifications to return to defaults

💡 Allows reverting settings if they cause issues

Remove Nagle Settings

This removes the three main Nagle settings from registry. Replace {NIC-GUID} with your adapter GUID.
PowerShell / CMD
$nicPath = "HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{NIC-GUID}" Remove-ItemProperty -Path $nicPath -Name "TcpAckFrequency" -ErrorAction SilentlyContinue Remove-ItemProperty -Path $nicPath -Name "TCPNoDelay" -ErrorAction SilentlyContinue Remove-ItemProperty -Path $nicPath -Name "TcpDelAckTicks" -ErrorAction SilentlyContinue

After Reverting

ℹ️
Restart Windows for changes to take effect. This will restore default Nagle algorithm behavior.

Nagle Algorithm Best Practices

Medium

Important guidelines for safely applying Nagle optimizations

💡 Prevents issues and ensures optimal configuration

Before Making Changes

⚠️
1. Create a system restore point 2. Run PowerShell as Administrator 3. Note your NIC GUID before making changes 4. Test on a non-critical network first 5. Restart Windows after applying

Compatibility

ℹ️
Works on Windows 7, 8, 10, and 11. Also improves WiFi performance slightly.

When to Use

ℹ️
Recommended for: Gaming, MMOs, FPS games, real-time applications Not recommended for: Heavy file transfer systems, general-purpose servers

Accessibility Tools

Current size: 100%