none
Windows 7, Nagle disabled in registry, but not actually disabled?

    Question

  • Hello,

    I read a previous thread on this, but there seemed to be no resolution.

    I have two PC's connected to play the same MMORPG (Mabinogi, a free to play MMORPG), in where disabling Nagle is pretty standard advice (If Nagle is not disabled the "heal" magic always has 200ms or more delay between casts.) Now on the Windows XP machine with a Realtek RTL8139 (10/100), disabling Nagle in the registry works, and certain actions take less than 40ms.

    On my Windows 7 machine however, disabling Nagle exactly the same way, results in all actions taking 200ms or longer. This machine has a RTL8168 series (Microsoft's driver "Realtek RTL8168C(P)/8111C(P) Family PCI-E Gigabit Ethernet NIC (NDIS 6.20)" - 7.2.1127.2008) onboard ethernet. It actually has two of them. I tried Realtek's 7.026 (2010/9/23) driver and still the same problem.

    I recreated the registry entries when changing driver series due to the deletion of the registry entries.

    Today I went through the effort of reinstalling the OS, applying the patches, and then reinstalling this game first thing, trying to disable the Nagle Algorithm and still I can not get it disabled. I'm at a loss as to why.

    It's almost as if Nagle is being forced on in Windows 7, regardless of the settings.

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces\*

    "TcpAckFrequency"=dword:00000001
    "TcpDelAckTicks"=dword:00000000

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSMQ\Parameters

    "TCPNoDelay"=dword:00000001

     As an aside question, why isn't there simply a tickbox for this in the TCP/IP configuration? It seems that the Nagle Algorithm intentionally cripples all online games and limits file transfer speeds.

    Anyway, I've been getting frustrated with it, and I swear it worked at some point before reinstalling, but haven't been able to disable it in Windows 7. I'm not complaining about "lag spikes" or anything silly like that. Just the fact that Nagle isn't being disabled by the registry settings.

    The previous thread made mention of it possibly being drivers, but it was doing this with the drivers provided by Windows Update, and realtek doesn't have any older drivers on their website to try. So I'm at a bit of a loss as to what else I can do.

     

    Monday, September 27, 2010 2:02 AM

Answers

  • Hi,

     

    Thanks for the post!

     

    According to my understanding ,it’s very complicated to tell the reason why the Nagle can’t be disabled by resetting registry.

     

    I would like to recommend you use Windows Sockets 2, it can be used on all Windows platforms and can disable the Nagle algorithm for their connections by setting the TCP_NODELAY socket option.

     

    Hope it helps!

     

    Best Regards,

    Miya Yao


    This posting is provided "AS IS" with no warranties, and confers no rights. | Please remember to click "Mark as Answer" on the post that helps you, and to click "Unmark as Answer" if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.
    Wednesday, September 29, 2010 11:05 AM
    Moderator

All replies

  • Hi,

     

    Thanks for the post!

     

    According to my understanding ,it’s very complicated to tell the reason why the Nagle can’t be disabled by resetting registry.

     

    I would like to recommend you use Windows Sockets 2, it can be used on all Windows platforms and can disable the Nagle algorithm for their connections by setting the TCP_NODELAY socket option.

     

    Hope it helps!

     

    Best Regards,

    Miya Yao


    This posting is provided "AS IS" with no warranties, and confers no rights. | Please remember to click "Mark as Answer" on the post that helps you, and to click "Unmark as Answer" if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.
    Wednesday, September 29, 2010 11:05 AM
    Moderator
  • I'm going to dig this up, because I've just experienced a change to my internet that had the exact same effect, and in the same game no less.

    Two weeks ago, I had my game machine playing Mabinogi as well, with a completely successfully denagled connection.

    Since then I had to move to a new apartment, and changed internet service providers and types.  I used to be on Verizon DSL, and now I'm on COX Cable.

    Without making any changes to the computer itself, I went from one connection to the other, and as I've experienced in the past, the connection had to be de-nagled again.  Only.. because I'm using a different connection type with the same router, it didn't make any registry changes dealing with connections, and my old TcpAckFrequency key was still active in the current connection.

    But, despite this, the connection is now much slower on cable than on DSL (oh the irony).

    Now, the VERY discouraging part... I re-enabled the nagle algorithm, and my latency got MUCH WORSE.  So, my current worry is that something in the connection itself changed to keep the process from working correctly. 

    I can't rule out that it COULD be the fact that I just moved from the west coast to the east coast, but I know friends on the east coast who have perfect connections and no latency problems after de-nagling.. so.. I'm at a loss.

     

    Friday, January 28, 2011 10:39 PM