Windows 7, (Disable) Nagle’s Algorithm, and gaming…
Time constraints have prevented me from really documenting the many nuances of setting up OSX on my AMD box. So I guess I’ll just move the blog along to other things computer related, at least for now. Who knows where it’ll end up in the future.
Alright, so I just installed Windows 7 Ultimate RTM (7600). I noticed in some of the games I frequent (sadly WoW being the main one) that I was sitting around 112ms~ latency. Much like HDTV buffs notice the most minute imperfections in video, gamers can basically feel the delay between when they enter a command and when their game performs the intended command. You can essentially cut your latency in half by disabling Nagle’s Algorithm… I dropped down to a 53ms~ average.
By default all current Microsoft operating systems have Nagle’s Algorithm enabled. For gamers playing games that utilize TCP packets to transmit data, such as WoW, this can be a bit of a hinderance. So here is how to go about disabling it in Windows 7… you’ll need to go into your registry editor, which to be honest, if you don’t know what you’re doing, can become quite scarey as you can really hose things up if you’re careless. However if you follow this step by step, and refrain from slamming your face on the keyboard while swinging your mouse around like you’re trying to rope cattle, you’ll be fine. Also keep in mind that you’ll need administrative privelages to get into the registry editor.
1. To get into the registry editor, go to Start > Run > Type: regedit
2. Browse to: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces
Here you will see your network interface devices listed as random characters. The only way to really identify which one you want to modify is to click on each one and search for your IP configuration information in the right pane (ie. IPAddress > 192.168.0.100).
3. You will need to create two new entries for this interface. You can do this by right-clicking the interface in the left pane and going to New > DWORD (32-bit) Value.
- Name the first one “TcpAckFrequency” (case sensitive).
- Name the second one “TCPNoDelay” (again, case sensitive).
4. As you create these, they will appear in the right pane of the registry editor. You want to double-click each of your new values and set their ‘Value Data’ to “1″, and leave “Hexadecimal” checked under ‘Base’.
5. Exit your registry and reboot.
Notice: This can adversely effect other types of internet usage such as streaming video (ie. Hulu), further research on your part will provide more information.