TcpAckFrequency

(28. january 2011)

Works for Windows 7, and might also work in Vista. Use google to find a Vista version, if this is not doing the trick.

It is a known issue that playing online games in windows, by default is laggy. This is due to the Nangle algorithm that was suppose to improve network performance. It might improve raw transferspeeds, but if you like me, are prioritizing low latency (low pingtimes), then this is the solution.

  1. From a command prompt (usually in All Programs -> Accessories -> Command Prompt) run “regedit”

  2. Browse to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces

  3. Browse the items under interfaces until you find one that has an IPAddress entry matching the network interface you want to affect (typically LAN IP addresses start with 192.168 or 10.0); note that if your IP address is automatically assigned by a DHCP server you may need to look for a matching DhcpIPAddress instead of IPAddress

  4. Right-click on the interface and select New > DWORD (32-bit) Value, name it “TcpAckFrequency”

  5. Right-click the new TcpAckFrequency value and select Modify, enter “1″ (Hexadecimal radio button should be selected)

  6. Right-click on the interface and select New > DWORD (32-bit) Value, name it “TCPNoDelay” (note that TCP is all uppercase this time – that’s intentional)

  7. Right-click the new TCPNoDelay value and select Modify, enter “1″ (Hexadecimal radio button should be selected)

  8. Verify that both TcpAckFrequency and TCPNoDelay now show up in the adapter’s property list with types REG_DWORD and values 0×00000001

  9. Exit regedit and reboot (reboot is necessary for the changes to take effect!)

  10. Play a game and enjoy your new low ping

This decreased my ping in most games from 200-300ms to 20-30ms, which matches the latency I would see via a tracert to the game’s server.