://rideekulo.us deeks.web.blog.random


Windows, (Disable) Nagle’s Algorithm, and gaming…

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 >

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.

**You will use DWORD (32-bit) values regardless of your operating system architecture, 32-bit or 64-bit.  Do not use QWORD (64-bit) values.

Comments (23) Trackbacks (1)
  1. Hmmm I can’t find Interfa in Parameters(no files call “interfa”), so I am stuck at step 2. Anyone know why? Maybe because I am using a wireless network?

  2. Nvm, I found it after restart computer. Sorry abou that.
    @Yijun Pan Stautland

  3. Your web browser may not be show you the entire string… you’re looking for the following;


    Please let me know if this helps.

  4. @manuzark
    I’m using Windows 7 64-bit as well. Yes, I did create them as 32-bit values as suggested. Did you create both keys? From how you phrased your question it seems you only created one.

  5. not work good for me i suppose, on win 7 x64 this need to be a DWORD (32-bit) Value or 64 bit? i try with two values, but dont decrease the latency idk why, any suggestions? thx

  6. @manuzark
    Well i have windows 7 64 bit Home addition and i think i heard somewhere that this is the only windows 7 that does not let you do these things, they just don’t work… I haven’t tried this one yet but i will and hope it works but for now i cannot play the game i want to correctly until i do disable it so I just keep trying.

  7. best guide ever =D

  8. Works perfectly for me. I’m a developer, and this sped up any apps using TCP protocol.

  9. This also works for Win8 :) Good job guy :D

  10. Please note that while, in certain cases, the current Nagle algorithm can have a negative performance impact for certain applications, turning OFF the Nagle algorithm can have a very serious negative impact on the internet. Thus, nothing in this e-mail message, or in the enclosed draft, should be taken as advice to any application developer to disable the Nagle algorithm. The current Nagle algorithm is very important in protecting the health of the internet; the proposed modification [hopefully] provides the same level of protection.


  11. Worked perfectly for me! Using Windows 7 Home Premium 64-bit. I used the fix to boost my latency in the game Mabinogi. Followed everything to the letter. Everything is much more responsive now. Thank you very much!

  12. This work the same way for Windows 8?

  13. Yes, this works on Windows 8 (32-bit & 64-bit) the same way it does on Windows 7. Just follow the instructions step by step, exactly the same way.

  14. for me i have two interfaces with the ip address found in cmd>ipconfig>ipv4 address…. so what do i do

  15. @steven – if they’re both active internet connections (ie. Wired & wireless), do them both. Otherwise just do the one that is your active internet connection.

  16. unfortunately my ping to league of legends is still the same. hopefully this doesnt mess anything up on my computer

  17. @steven – if LoL uses UDP (instead of TCP) for gameplay, then this change will not have any effect on your ping/latency for that game. If you are concerned about any adverse effects this change may have for the rest of your computer function, you can undo it by deleting the entries or setting their values to ’0′ (instead of ’1′).

  18. @Deek Thank you for your reply. Is there anything similar for UDP? To speed up my connection. Appreciate it.

  19. @steven – based on the nature of UDP packet transmission, there is unfortunately no similar fix or adjustment available. If you search TCP vs UDP you will find some good articles with explanations.

  20. Can this method be reversed by deleting the two new entries?

  21. @Darrieus – Yes, it certainly can.

  22. Thank you ^-^

Leave a Reply

%d bloggers like this: