After installing Windows 7 I noticed a slight increase in network latency in several online games. It wasn’t a big deal – I’m talking 200-300ms, but this is on a connection that was reliably < 100ms in the past. Beyond the obvious settings in Windows or on your router, here’s a list of tweaks that may help quite a bit. It involves disabling Nagle’s algorithm, also commonly known as TCP no delay, which is basically an optimization of network traffic that tries to reduce overall packet volume but can cause extra latency in the connection. This should work on Windows 7 or Vista, though the same principle can probably applied to other operating systems as well.
- From a command prompt (usually in All Programs -> Accessories -> Command Prompt) run “regedit”
- Browse to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces
- 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
- Right-click on the interface and select New > DWORD (32-bit) Value, name it “TcpAckFrequency”
- Right-click the new TcpAckFrequency value and select Modify, enter “1″ (Hexadecimal radio button should be selected)
- 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)
- Right-click the new TCPNoDelay value and select Modify, enter “1″ (Hexadecimal radio button should be selected)
- Verify that both TcpAckFrequency and TCPNoDelay now show up in the adapter’s property list with types REG_DWORD and values 0×00000001
- Exit regedit and reboot (reboot is necessary for the changes to take effect!)
- Play a game and enjoy your new low ping
This decreased my ping in most games from 200-300ms to 50-60ms, which matches the latency I would see via a tracert to the game’s server.
#1 by Aure Islas at May 29th, 2009
Wow, i have been troubleshooting this for some time now. I did all the usual fixes people have posted (ie disabling autotuning) with no change. I followed your guide and it worked perfectly. Thanks!!!!
#2 by Dustin at May 29th, 2009
You’re welcome, glad to hear it!
#3 by Garreth at May 30th, 2009
Phenomenal guide. Made a noticeable difference for me. If you’re a WoW player, there is some discussion about how much better WoW plays on Windows 7. That coupled with this latency fix has made for a completely different raiding experience. Thank you!
#4 by Hassan at June 2nd, 2009
Superb Post.
#5 by Captain Fizz at June 4th, 2009
Had this fix implemented for XP, thank for posting the additional steps for Win7.
Also with respect to Garreth’s post – Yep, framerate doubled in raids
Using multiple cores on CPU and GFX shinier too.
#6 by lucas at June 9th, 2009
Hi, was very optimistic about this, applied the fix, everything goes smoothly at 50-60 ms, but then out of a sudden latency starts gradually growing by significant amount till disconnected. Maybe it’s cause of wifi?? OS found the driver for linksys wmp54g v4.1 on it’s own. I’m using TP Link router encrypt. set to WPA2, i guess windows 7 doesn’t have any issues with this encrypt. type? Have no clue will need to switch to cable, unless you have some ideas. Regards.
#7 by Dustin at June 11th, 2009
I haven’t had this problem on Windows 7 myself, but it does sound very similar to something I saw on Vista at one point. Basically, Windows tries to scan for new wireless networks every 60 seconds or so which for some drivers, leads to increasingly painful lag spikes ultimately ending in a disconnect. Back on Vista I had good luck using a program called Vista Anti-Lag (search for current version) to buffer the connection with some success and then eventually didn’t need it when I got a different adapter. If your wireless adapter has proprietary software you can install (the kind that replaces the built-in Windows wireless network manager in the system tray) those sometime work better as well.
#8 by David Morris at June 11th, 2009
This was fantastic! Thank you very much. Latency has improved just as your described! Was getting frustrated cause the OS X box next to me was getting MUCH better latency than my windows machine on the same router.
#9 by Ade Tola at June 12th, 2009
Hi i am trying to use your method but i am what you can consider a noob in this department, i got stuck at step number three i dont know what im looking for almost all the files there had my IP. I am trying to use this guide to reduce the latency on granado espada singapore client.
#10 by ahnungslos at June 14th, 2009
I got exactly the same problem as stated right at the beginning: latency was fine in Vista, now with W7 it went up by 100-250ms being now mostly at 250-400ms all the time whoch is pretty annoying.
But this fix won’t work for me
Checked all the settings again and again and can’t point out the problem.
Any ideas? Anyone? Please?
#11 by Dustin at June 15th, 2009
If you have many interfaces in the registry and can’t tell which is which (maybe there are duplicates, or you actually have several external interfaces with the same IP on different networks), you can simply create the new entries for all of them. Just be sure it really has a network IP and not something like 127.0.0.1 which is the loopback (internal) interface.
#12 by Ryan at June 15th, 2009
Thank you SO much for this. I just put together a new computer and decided to try out Windows 7. My latency had spiked to quadruple the normal value. I tried everything I could find to the point that I was ready to switch back to XP. This guide saved me a ton of hassle which is much appreciated!
#13 by Sreekanth at June 16th, 2009
Hi buddy,
although the ping dint change, the game play improved. ( i played fifa 09). But after 1-2 hrs of gaming i found that i had huge amount of latency – around 2 secs with the irc servers, and it was quite difficult to make a move. any idea why this happened ? I really appreciate if you can suggest me any other tweaks for improving the ping.. btw i am from India, and i use 2mb connxn to play my games online
I followed these steps in setting up my vista
#14 by c0mrade at June 17th, 2009
Thanx mate for that, but it didn’t helped to me
(( I’m using win7 for week now and am very confident. Except of CS -> still havin jumpy latency from 30 – 60 at the beginning of round till 120 – 200 through round .
Any suggestions ??
thanks for any help..
#15 by c0mrade at June 18th, 2009
thanx for great guide. I did everythin as written here but with no success.
I was looking through the net, reading lots of forums but still cannot keep my latency low. When I connect to dedicated server on LAN, my latency is around 8. As I put bots or players connects, my ping rises to 120. And with 5 bots its jumpin from 30 til 200. Can anybody help me? pleeease
tahnx for any future help
#16 by Vince at June 20th, 2009
I’m not a gamer, but it generally made other things more responsive (XP) – cool tweak.
#17 by Michael at June 30th, 2009
PROBLEM WITH THE GUIDE, after I get to the reboot stage and go back into regedit and get to the MSMQ folder it isnt uncollapsable, there is NO parameter subfolder on my computer. What am I doing wrong? Also I dont understand step 8, how do I verify? I go to Devices and Printers, right click my modem and click properties and scan through everything but done find those particular keywords. I have followed everything to step 8 by the book! PLEASE HELP.
#18 by Michael at June 30th, 2009
Oops, just figured out that I dint hit the OK buttin after step 11, my bad, but also….
I am running 64 bit windows 7, does this mean that I now use the QWORD (64 Bit) option in step 6? Thanks for your help.
#19 by Dustin at June 30th, 2009
Use type DWORD (32-bit) regardless of the OS, including 64-bit Vista and Windows 7. The type isn’t related to your architecture.
#20 by Michael at July 1st, 2009
Ping is generally ok, around 60 or so for local servers, But my problem lies in the random spikes I sometimes get. Since I’ve gotten wireless my ping will randomly jump from 60 to 600 or even up to 999. I think it may also be causing some games to disconnect. It is random and may happen every few minutes or once per 3 hours. Do you know what may be causing this?
#21 by Peter at July 1st, 2009
You can skip all of steps 10-17. There is no reason to enable/install MSMQ to see this benefit. Tested using Win7 build 7140 and World of Warcraft. Latency down from ~200ms to ~50ms.
#22 by Dustin at July 2nd, 2009
It’s true that enabling MSMQ itself doesn’t reduce lag, however enabling it allows setting its TCPNoDelay flag which may help as it does with other connections if/when MSMQ is used. Since most people probably don’t need this I’m taking them out for now. Thanks for the suggestion.
#23 by Bill at July 7th, 2009
Hi I am using win 7 R C version.. I have been testing the compatibility with different programs and game setup and the ping has always been a problem on certain games . I tried your reg edit on the seven platform and it caused a connection error But on the other hand it worked great on my vista box .With that said keep up the good advice for those of us who like to do it yourself weather you are a techie or not and if you have any ideas for me and the seven please let me know. Thanks for the advice Bill.
#24 by Dustin at July 7th, 2009
What was the error message or behavior that you saw? I haven’t heard of anyone else running into this.
#25 by Airtrax30 at July 10th, 2009
tnx for this tip man…it helped me alot… may God know how to pay you back… Tnx sooo much again…
#26 by ULTIMATE X at July 14th, 2009
Anyways , Everyone already knows this there are even programs that will do it automatic. The Real problem is getting it to work in Windows 7 X64. you will notice if it works if your latency drops from 200 to like 40s its a dramatic change
#27 by Thazzerious at August 3rd, 2009
terribly sorry to bother you like this, but I’m not very good with the technical side of computers. I got to step 3, and am completely lost as there are 5 different sub-folders, all containing 192.168… type IP addresses. I have not a single clue what I’m actually meant to be looking for in the first place in this step, I’m trying to fix my WoW which decided it would have latency issues once i got Win7. I have no idea what network interface i need/want to affect, how do I find this out?
#28 by jrock at August 3rd, 2009
I don’t see any entries ‘IPAddress’…I have multiple entries ‘DhcpIPAddress’.
Same thing?
#29 by Dustin at August 3rd, 2009
You might have more than one local IP address if you have several network cards or a combination of wired and wireless adapters, or even in some cases because Windows is keeping track of a “ghost” adapter because it was reconnected in a different PCI slot or USB port. In this case it’s safe to just apply steps 4-8 to all of them; at worst you’ll be applying it some interfaces that don’t need it, but it won’t cause any harm.
#30 by Dustin at August 3rd, 2009
That’s correct, if you’re running DHCP on your network (IP addresses are automatically assigned by your router) then the interface(s) with the matching DhcpIPAddress are the ones to modify. IPAddress will probably be 0.0.0.0 or missing on them. I’ll update the post to mention that.
#31 by John at August 7th, 2009
I made these changes and have a couple remaining issues:
My latency in Team Fortress 2 and other games based on the same engine remains high, however, the framerate doesn’t skip anymore (framerate and latency are closely tied in this engine). But I’m looking at 2-2.5x the ping on the same hardware. Any other suggestions? This seems like a common issue when moving to Windows 7.
#32 by byron3 at September 8th, 2009
im here again…dustin are there any other good tweak you know for windows 7 or vista (both x64)… this one kicks ass…and im just askin if are there any other tweaks you know to have advantage in games this lower latency tweak gives me the hell of advantage like i see my enemies 1st befor they see me…i have a powerfull rig by the way …i used nahelam i7 940 @ 4 Ghz water cooled.so im thinking this idea…powerful system plus nice registry tweak = Godlike in games…you feel me???
#33 by Zachary at September 12th, 2009
So I tried this on my PC which I’m running vista x64 and it seems to have worked, however out of the blue I recently started getting high red latency ranging from 600-1495. Any ideas or other info I need to supply to assist in solving this matter?
#34 by jeff at September 18th, 2009
I applied this to my vista 64. My latency before was 285 and my latency now is still 285.
When i click on the interface tab i see the TcpAck and the TCPNoDelay. Is this where they are supposed to be? I did use Dword 32 bit also.
#35 by jeff at September 18th, 2009
I ended up putting it in the 3rd folder down from interface, it looked something like this {EDD0467d-eb02 so on so on.
I am not sure if this is the right place. I have them in both places now but my latency is now in the 130’s and holding steady. It does spike once and a while upwards near 200 but spikes are normal.
#36 by tino at September 27th, 2009
My latency droped from 500 till 150-200, but it’s still high when i was using XO it was around 70-80.What could cause that?
#37 by shade at October 2nd, 2009
PEOPLE, I HAVE DONE ALL THAT WROTE ABOVE, BUT I STILL CAN’T PLAY DOTA…MY LATENCY IS REAL BIG, AND WHY HERE ARE 10 STEPS, IF PPL COMMENT SMTH LIKE “1 TO 17″?
#38 by teemo at October 4th, 2009
can anyone upload a pic to show how step 8 can be done? i have no understanding of how to do step 8
#39 by Tony at October 4th, 2009
From what I see the fix helps the constant high ping issue people are getting with 7, but honestly the problem lies somewhere else. The ping in multiplayer online gaming fluxuates, for example from 50 to 100 and back causing FPS to go down. Occationally it spike up super high to 999 and loses connection for 5 -8 sec then reconnects. Also when there is a loud sound during the spike it gets really bad. I have already sent emails to a Microsoft Tech I met and hopefully he can find out whats up. Oh bad news I have the final build to be released on Oct 22. It was given to me at a Windows 7 IT break out event in Miami 1 week ago. Well , it still does it on this verion also. SAD but True so dont expect a fix on the final cut. Hope for the best but I see alot of pissed off gamers out there.
#40 by jtc at October 6th, 2009
It works. If it doesn’t work for you, you did something wrong.
#41 by Foxy at October 7th, 2009
Hi guys, i was just wondering. If you dont have a problem with your latency, i have about 20-30ms when playing counter-strike. Could this still help lower my ms even more or should i just let it be?
#42 by Brian at October 8th, 2009
I tried this on Windows 7 64 bit RTM yesterday. And it took my latency from 400 back to 40.
Works like a charm!!!
#43 by Dustin at October 9th, 2009
There used to be a couple more steps but I streamlined it based on feedback. The current ones reflect the bare minimum necessary to get this working.
#44 by teemo at October 10th, 2009
erm could anyone help me with step 8 ehere can i find adapters property?
#45 by Alen at October 10th, 2009
I got to step 3, i’ve found my IP but nothing says what i have to do with it? should i delete it or smth? any1?
#46 by teemo at October 17th, 2009
is there just no one willing to help someone understand some shit guide?
#47 by xyvyx at October 21st, 2009
had similar problems.. random lag spikes. There’s a Technet topic on it as well. Tried this setting, along with swapping NICs, several different drivers, MTU settings (verizon FIOS optimizer).
I wish these settings worked, but they had little effect for me. I wish I knew the cause. Brand-new system… with XP installed, it was just about flawless… installing Win7 (“over” the XP windows folder… gonna do a format/re-install soon just to be sure).
System:
Core i7 860, Win7 ultimate x64
Intel Pro 1000/PT wired net adapter
ATI 4870
ASUS Maximus III GENE mobo
4GB DDR3 @ 1600, velociraptor HD
no game framerate “lag”, just huge dropouts in network connectivity. very frustrating… as a work-OS, I’ve been falling in love with Windows 7, w/o a doubt the best MS operating system to-date… at least until THIS. Until this issue is resolved (quite a few people reporting this issue, and it was just released to retail TODAY!), Win7 is a bit of a gamble for a gaming OS.
#48 by Happeywowgamer at November 5th, 2009
hello guyz ..
can we put more number in TcpAckFrequency and TCPNoDelay .. or just number ” 1 “? can i do 2 for both ?
#49 by Happeywowgamer at November 5th, 2009
Hello guyz
can i do more number in the both TcpAckFrequency and TCPNoDelay ? or just number ” 1 ” ?
#50 by Ryan at November 11th, 2009
#49 – No, you can’t. The way Binary works is either 0 is off/no and that 1 is on/yes. If you put in another number, it would probably have no affect what so ever.
Anyways, tried this fix, didn’t work for me. Still having latency issues of 200-300ms. I even tried the ‘Leatrix’s Latency Fix’ from WoWhead, and it still didn’t work.
Running Windows 7 Home Premium 32bit