---
title: "Disabling Nagle's algorithm: TCPNoDelay and why it barely matters for most games"
description: "What TCPNoDelay and TcpAckFrequency do, which games are actually affected, and why this classic tweak is mostly obsolete."
url: https://frozentweaks.com/tweaks/disable-nagle-algorithm
author: Frost LIVE, Founder of Frozen Tweaks
published: 2026-08-30
updated: 2026-10-08
category: "Network"
source: Frozen Tweaks (https://frozentweaks.com)
---

# Disabling Nagle's algorithm: TCPNoDelay and why it barely matters for most games

**Short answer:** Setting TCPNoDelay to 1 on your network adapter's key under SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces disables Nagle's algorithm, which otherwise batches small TCP packets before sending. It only affects games that use TCP for gameplay traffic, and most competitive shooters use UDP, where Nagle does not apply at all.

## In the app

- Switch: NIC Low-Latency Mode (Network, Pro, Advanced)
- Undo: Yes. Switching it off sets the netsh settings back to their defaults and deletes the values the tweak wrote for each network adapter.
- Game profiles that switch it on: Apex Legends, ARC Raiders, Battlefield 6 and 17 more
- Catalog row: https://frozentweaks.com/tweaks#t-1031

## What it does

Nagle's algorithm improves bandwidth efficiency by waiting briefly to combine small TCP writes into one packet. That wait is exactly what you do not want for latency-sensitive traffic.

Receive Segment Coalescing does the same thing in the other direction, batching inbound packets before delivering them.

## When it helps

- Genuinely helps games that carry gameplay over TCP: some MMOs, older titles and a few fighting games.
- Disabling RSC can reduce inbound jitter on some adapters.

## When it hurts

- Most modern competitive shooters use UDP for gameplay. Nagle does not apply, and this tweak does nothing for them.
- Slightly less efficient use of bandwidth, which is irrelevant on a modern connection.
- The values live in each adapter's own key, so they have to be applied again if an adapter is reinstalled or a new one is added.

## What it writes

Read from the app's source. "Switching it off" is what the app writes when you turn the tweak off again.

Registry values:

| Key | Value | With the tweak | Switching it off | What it does |
| --- | --- | --- | --- | --- |
| `HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\<each adapter>` | `TCPNoDelay` | `1` | Not set (the value is deleted; Windows decides) | Sends small TCP packets immediately instead of waiting to combine them. Windows reads it from each network adapter's own key under Interfaces, so the app writes it to every adapter. |
| `HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\<each adapter>` | `TcpAckFrequency` | `1` | Not set (the value is deleted; Windows decides) | Acknowledges every incoming TCP segment instead of every second one. |

Commands the tweak runs:

```bat
netsh int tcp set global rsc=disabled
netsh int tcp set global ecncapability=disabled
netsh int tcp set global rss=enabled autotuninglevel=normal
```

- `netsh int tcp set global rsc=disabled`: Disables Receive Segment Coalescing, which batches incoming packets before handing them up.
- `netsh int tcp set global ecncapability=disabled`: Turns off Explicit Congestion Notification, which some consumer routers handle badly.
- `netsh int tcp set global rss=enabled autotuninglevel=normal`: Keeps Receive Side Scaling on, which spreads incoming network work across CPU cores, and receive window auto-tuning at its normal level.

Switching it off runs:

```bat
netsh int tcp set global rsc=default
netsh int tcp set global ecncapability=default
netsh int tcp set global rss=default autotuninglevel=normal
```

Source: Tweaks/nic_lowlatency.hpp in the app's source, app 2.0.0, checked 2026-10-08.

## How to undo it

Delete TCPNoDelay and TcpAckFrequency from your adapter's interface key, and run the netsh commands with `default` instead of `disabled`. Switching it off in Frozen Tweaks does both: it deletes the two values from every adapter's key, along with a TcpDelAckTicks value an older version may have left, and resets the netsh settings.

## Verdict

Apply it if you play TCP-based games. If you only play UDP shooters, this is one of the most over-recommended tweaks in existence and you should not expect anything from it.

## Related guides

- [How to Reduce Input Lag on PC: The Whole Latency Chain](https://frozentweaks.com/guides/reduce-input-lag)
- [The Best PC Optimizer for Gaming in 2026: How to Choose One](https://frozentweaks.com/guides/best-pc-optimizer-for-gaming)

## More tweak explainers

- [Delivery Optimization](https://frozentweaks.com/tweaks/disable-delivery-optimization)
- [NDU (Network Data Usage)](https://frozentweaks.com/tweaks/disable-ndu-service)
- [Prefer IPv4 over IPv6](https://frozentweaks.com/tweaks/prefer-ipv4-over-ipv6)

---
Written by Frost LIVE, founder of Frozen Tweaks. Canonical version: https://frozentweaks.com/tweaks/disable-nagle-algorithm
