Network tweaks

What each box on the Internet page writes, what it leaves alone, and which of them can change a match — most cannot, and the page says so.

First, the honest sentence

Nothing on the Internet page lowers your average ping. Ping is the distance to the server plus the queue in your router, and a setting on your PC changes neither. What these boxes can do is remove small, specific delays that happen on your own machine — microseconds, sometimes a few milliseconds under load — and only where the mechanism they touch exists on your hardware. Where it does not, the box writes nothing and says so in the log.

No setting here replaces a cable. Wi-Fi can swing by tens of milliseconds on a single moment of interference, and no box on this page does anything about interference.

Box by box

Send TCP acknowledgements without holding them back — writes TcpAckFrequency=1 under HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\<GUID>, only for wired adapters that are up and physical. Virtual adapters — a VPN tap, WSL, Hyper-V — are skipped. Windows waits up to 40 ms to bundle an acknowledgement with a second segment; this sends it at once. It affects TCP only. CS2, Valorant, Fortnite, Apex, Dota 2 and League of Legends play over UDP, where it changes nothing. It shows on TCP games (Minecraft Java) and on the session traffic of an MMO or ARPG — a few tens of milliseconds per round trip at most. Wi-Fi is skipped on purpose: doubling the number of upstream frames costs airtime the download is using. Takes effect after a restart.

Disable network adapter power saving — writes PnPCapabilities=8 under the adapter's class key, the same thing as unticking "Allow the computer to turn off this device" in Device Manager. Unticked by default, and here is the trade: with it set, Windows treats the card as one it cannot power-manage, so waking the PC from sleep over the network stops working, and on a laptop the card is halted in Modern Standby rather than idled — nothing arrives while the lid is closed. The gain is one packet after an idle stretch, and a game never lets the link idle. It is written only when the driver actually exposes power management; the inbox Microsoft driver that Windows Update installs for many Realtek cards does not, and there the box says so and writes nothing.

Disable Energy Efficient Ethernet — writes 0 to whichever EEE keyword the driver declares (*EEE, EnableGreenEthernet, AdvancedEEE, EnableSavePowerNow, EEELinkAdvertisement), in the type the driver stores it in. EEE (802.3az) drops the link into low-power idle between packets, and leaving it costs up to about 16 microseconds on gigabit — not a ping you can see. The real reason to turn it off is stability: some 2.5G cards drop the link with it on, and Intel's own advice for its I225/I226 family is to disable it. The cost is about half a watt per link at idle, which on a laptop is battery. A driver that declares none of the keywords is skipped, and the message says so; the vendor's driver may expose the setting where the inbox one does not.

Disable the adapter's selective suspend — appears only on a desktop whose adapter driver lists *SelectiveSuspend, and starts unticked. It writes 0 to that keyword, in the type the driver stores it in. Selective suspend lets Windows put an idle adapter into low power after a few seconds without traffic (five by default); the first packet after that waits for the adapter to wake. A game never leaves the link idle that long, so in a match it changes nothing — the gain is the first packet after a quiet stretch, and it has not been measured. Microsoft aims the mechanism at USB 1.1 and 2.0 adapters; most wired cards' drivers do not list it, and there the box does not appear. The cost is idle power, which is why a laptop never shows the box. It takes effect when the adapter restarts — disable and enable it in Device Manager, or restart. Whether it does anything beyond "Disable network adapter power saving" on the same card has not been measured.

Raise the adapter's receive buffers to the driver's maximum — appears only where the adapter carrying your traffic has measurably dropped received frames: by its own discard counter since it last started, at least 0.01% of at least 100,000 received — the count the Stutter Detective shows. It starts unticked, on desktops and laptops alike, and its label carries the two numbers. It writes *ReceiveBuffers at the top of the range the driver's INF declares — never a number of w0a's choosing — and only where that is above the value the card runs with; a value raised further by hand is never lowered. A card whose receive buffers fill under load drops what arrives next: a TCP segment is sent again at least a round trip later, a UDP game packet never arrives. Microsoft's description of the setting says an adapter with too few may run out under heavy load; Intel's tuning guide says to raise them when received packets are dropped, and puts the cost at about 2 KB of memory a buffer. Without measured drops it buys nothing, which is why the box does not appear then. It takes effect when the adapter restarts, and the drop counter starts from zero then. What it does to ping or frames has not been measured; on the PC w0a is written on, the inbox Realtek driver's maximum is 512, the card already runs at it, and it dropped nothing in 3.8 million frames.

Put the TCP defaults back — runs netsh int tcp set global autotuninglevel=normal, rss=enabled and ecncapability=disabled. These are what Windows ships with. The box reads the current value first; on a clean machine all three are already right, it writes nothing, and it says so. It exists for what tweak scripts leave behind — the "disable auto-tuning" advice that collapses throughput on any link with real latency — and it is a repair, not a gain, which is why it is unticked and not counted as an optimisation. RSS is a global switch; whether receive processing spreads across cores depends on the adapter offering RSS at all, and the message says whether yours does. These three have no undo record; the "Network settings" card on the Fix page puts them back.

For ping under load — writes 0 to *FlowControl, *InterruptModeration, *RscIPv4 and *RscIPv6 where the adapter declares them, and runs netsh int tcp set global rsc=disabled. Flow control lets a switch pause this PC's sending (it matters when a 2.5G card feeds a gigabit router, and only when you upload). Interrupt moderation batches packets before the CPU sees them: tens to hundreds of microseconds. Segment coalescing merges TCP receive segments before handing them up; UDP game traffic never passes through it, and turning it off costs CPU on downloads. Microseconds, all of it, against a router queue measured in milliseconds. Flow control is the one written unconditionally — pause frames hold every packet behind them and no machine wants that. The other three are a trade, so they are skipped on machines with fewer than six physical cores, where the extra interrupts cost more than they save, and on links above 2.5 Gbit. None of the four is written where the adapter does not declare the keyword, and the message lists exactly what was.

Per-app priority (QoS) — this box is gone; w0a no longer writes a QoS policy for a game. The mark was the whole feature, and it was dropped because providers mostly ignore it and some treat marked traffic as something to police rather than to hurry along — slowing it down, or dropping it. If an earlier version wrote a rule on this PC, the "Network settings" card on the Fix page takes it away.

DNS page — measures each resolver over plain UDP and writes the chosen pair to the adapter carrying your traffic (both address families where the operator publishes IPv6, otherwise IPv6 is set back to automatic). DNS latency changes how fast a name is looked up — the first connection to a server, the browser, the start of a download. It does not change in-match ping.

Encrypted DNS (on the DNS page) — off until it is turned on. It switches on Windows' own DNS over HTTPS for the servers the adapter uses, and only where Windows already knows an encrypted address for them (Cloudflare, Google and Quad9); for any other server it says so and writes nothing, and a resolver run by a program on the PC itself is left to that program. It is a privacy setting: the network on the way can no longer read from DNS traffic which names are looked up, while the addresses of the servers you connect to stay visible, and it promises nothing for ping or FPS. Falling back to plain DNS stays off, so a query does not quietly go out unencrypted. After turning it on, w0a looks up a name and keeps the setting only if the answer came back and Windows' DNS client was seen connecting to the server over HTTPS; otherwise it puts the setting back and says which of the two failed. The ms figures on the DNS page are plain-DNS measurements, not the time an encrypted lookup takes. To undo it: the card's button, the Backups page, or Fix > Internet connection and DNS.

What was removed

A box called "Release closed connections sooner" wrote TcpTimedWaitDelay=30 and StrictTimeWaitSeqCheck=1. Measured: the first value is read by Windows 11 — a closed connection's TIME_WAIT ended at 30 seconds — but what it decides is how fast a closed connection frees its port, which is a server's problem; a single PC cannot run out of ports playing a game. The second value appears in no Windows network driver at all. A box that does nothing for a game has no place on the page, so it is gone. If you applied it earlier, the "Network settings" card on the Fix page deletes both values, and the old revert records still load on the Backups page.

Undoing it

off-domain switch, deletes PnPCapabilities from physical adapters and TcpAckFrequency from every interface. "Network adapter offloads" returns the adapter keywords — including the EEE spellings, selective suspend and receive buffers — to the driver's own INF defaults. Neither depends on w0a's backup file.

Outside this page

A cable instead of Wi-Fi. A router with SQM (fq_codel or cake) if anyone downloads while you play. A cable takes the radio and its interference out of the path; SQM keeps the router's queue short while something else downloads. No setting on your PC does either, and how much they change on your connection has not been measured.

Which Windows settings change anything in a game, who each one helps and who it does nothing for: How to optimize Windows 11 for gaming: the settings that actually matter

w0a changes no Windows setting until you ask it to, and before a tweak writes a new value it saves the old one. Get notified

Did this page help?

What was missing, or what did not work? We read every one of these.

If this page did not solve it, write to us — say which article you read, and we will fix the article.