1. May 18, 2016  
    Released: 24.3.2012. by Dementorion Protection Paladin of Neltharion
    Updated:

    You can find my most popular guides here:


    Disclaimer: Follow this tutorial at your own discretion, I am not resposible for any damages that may occur due to lack of experience.
    This guide is about tweaking or disabling Nagle's alogrithm.
    Disabling "nagling" allows for very small packets to be transferred immediately without delay.
    Note that disabling Nagle's algorithm is only recommended for some games, and it may have negative impact on file transfers/throughput.
    The dafault state (Nagling enabled) improves performance by allowing several small packets to be combined together into a single, larger packet for more efficient transmission.
    While this improves overall performance and reduces TCP/IP overhead, it may briefly delay transmission of smaller packets.
    Keep in mind that disabling Nagle's algorithm may have some negative effect on file transfers, and can only help reduce delay in some games.

    {NIC-id} is key (folder icon) with some random numbers, in wich "DhcpDefaultGateway" exists.
    That is the only key that should have "DhcpDefaultGateway" with some value like 192.xxx.xxx.xxx.
    That is {NIC-id}, write down that numbers and letters. Because of those different {NIC-id} I cannot provide you .reg key to activate or deactivate this tweak.



    To implement this tweak, in the registry editor (Start>Run>regedit) find:

    This setting configures the maximum number of outstanding ACKs in Windows OS:
    Code:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{NIC-id}
    Under this {NIC-id} key, create a new DWORD key:
    TcpAckFrequency and give value of 1 (DWORD value, 1=disable, 2=default, 2-n=send ACKs if outstanding ACKs before timed interval. Setting not present by default).

    For gaming performance, recommended is 1 (disable). For pure throughput and data streaming, you can experiment with values over 2.
    If you try larger values, just make sure TcpAckFrequency*MTU is less than RWIN, since the sender may stop sending data if RWIN fills witout acknowledgement.

    To configure the ACK interval timeout (only has effect if nagling is enabled), find the following key:
    Code:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{NIC-id}
    TcpDelAckTicks and give value of 0 (DWORD value, default=2, 0=disable nagling, 1-6=100-600 ms). Note you can also set this to 1 to reduce the nagle effect from the default of 200ms without disabling it.



    Also, find the following key (if present, if not you can create keys which are missing or you can skip this step and test results):
    Code:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSMQ\Parameters
    Add a new DWORD key:
    TCPNoDelay and give value of 1 (DWORD value, 0 to enable Nagle's algorithm, 1 to disable, not present by default)

    1. Go to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft
    2. Right click on right side of window New > Key > Name it MSMQ
    3. Enter MSMQ, right click on right side of window New > Key > Name it Parameters
    Add a new DWORD key:
    TCPNoDelay and give value of 1 (DWORD value, 0 to enable Nagle's algorithm, 1 to disable, not present by default).

    Restart computer and see how much is your latency in game.

    XP/2003 needs hotfix or SP2 for it to work (MS KB 815230)
    Vista needs hotfix or SP1 for it to work (MS KB 935458)

    This guide is 80% copy/paste from somewhere on internet but Im using this for World of Warcraft since 2.4.3 version. If your average latency is under 90ms, I think that you dont have to do this, anyway, try it, and test it, if it doesnt work, you can revert changes.

    Please say thanks if my guide helped you, to keep this thread alive. Thanks.

  2. have anyone tried this to confirm if it helps ?

  3. its old guide cant say I have my own way that depend on OS where you from and above but in easy way :D


  4. Those settings were intended to be used in LAN/Limited WAN(excluding "the internet"), So basically inside a network(s) that are connected physically at short distances. (Corporate Networks, Testlabs, Intranets and extranets).

    The fact that the client (player) and the server (Icecrown/Loraderon/etc) are not only long distance away, but also seperated by multiple different lines and connectors. (Ethernet, Fiber optic cables, copper lines, etc..). For example, incoming/outgoing ADSL/DSL lines (via copper) have static MTU set to 1400-1500 by the ISP, How do you expect any of the configurations to hold all the way to the gameserver which is located in another country and in a different tier network.

    The settings in this guide assumes that everything moves unconverted/unfiltered at a local network. Sure this will work with warmane too, but you won't see a lot of difference as you have no control over the network after it leaves your router/modem.

  5. Instead of doing all of what is listed above you can always use http://www.leatrix.com/leatrix-latency-fix which has been around for ages and pretty much does that for you.

  6. Hi, I am playing from Australia and i have latency about 400. Is it here any way how to fix it ? Help please :)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •