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 Alan at November 11th, 2009
I will try this… but if I may ask, where might I find a description of the “obvious settings in Windows or on your router”?
Thanks!
#2 by Ken at November 13th, 2009
Thanks a lot, my ping change from 23x to 5x …
Thanks again
#3 by Unpleasant at November 18th, 2009
I followed this guide and went from 190-240ms to 45-55ms, thanks for sharing
#4 by Dhaval at December 1st, 2009
Thaks
but it din work for me
i m using windows7(x64)
i tried both d-word n q-word but din work
helpppppp plz
#5 by Thomas at December 3rd, 2009
it works for me with windows 7 ultimate 64 bit … make sure you make a 32-bit DWORD .
good luck
#6 by beats at December 4th, 2009
# Verify that both TcpAckFrequency and TCPNoDelay now show up in the adapter’s property list with types REG_DWORD and values 0×00000001
How do you check this?
#7 by Trudy at December 6th, 2009
ty ty ty …… I just spent a fortune getting my computer fixed and since they had to reinstall the OS I had them put windows 7 in (x64 by the way) and was getting latency 300-1000. You instructions were easy to follow and now I’m at 60-80 latency. I really appreciate your post!!!
#8 by Dustin at December 7th, 2009
Glad to help!
#9 by Crusherix at December 7th, 2009
Hey there, just a quick question, is it in the same map where all the ips are that i should create those new dwords? or is it in the “Interfaces” map that i should create them in?
A simple screenshot would help more than a thousand words here =)
#10 by dercor at December 10th, 2009
There is no place that i can choose DWORD as 32 or 64 bit, it just creates one. How can i choose as 32 ?
Thanks in advance
#11 by Czenda at December 12th, 2009
Every fix we tried just helped a bit but nothing solved it.
It’s happening on a single-core computer and any cpu-hungry process causes to increase ping to that machine from LAN, like playing a HD video. Ping from other LAN computer goes to 30-150.
Any idea why is this happening?
#12 by muhehe at December 17th, 2009
how this TCP tweak can affect UDP packets which games use for transfering ingame data?
#13 by FelikZ at December 20th, 2009
Ok. I guess that I find whats the problem.
I have ping 35-50 over XP and 35-200 over Win7 when I play CS 1.6
When I set lower priority to process, the ping become normal.
Also I test “fps_modem 35″ command, which is set game FPS to 35 and have the same result – normal ping.
CPU Load conflicts with network sevice or something like that.
(Sorry for bad English)
#14 by Johnny at December 21st, 2009
I just this week did a clean install of Windows 7 Ultimate. I was previously using WinXP. It seems Win7 does something odd to online games.
However this fix worked like a charm, Thankyou.
#15 by exezic at December 26th, 2009
Hey Czenda
What is causing the lag is the “Multimedia Class Scheduller” service. all you need to do is:
1. Disable the Multimedia Class Scheduler service.
2. Sound is dependent on this service so you will then need to run regedit, then find HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Audiosrv\DependOnService
3. Double click on it and remove MMCSS from the list.
4. Reboot your computer
5. ???
6. PROFIT!
#16 by Anthony at December 26th, 2009
I’m a 19 year old gamer who just got a nice HP laptop built for gaming. The only problem I’m having is the latency. Now, even though I do a lot of things on the computer, certain concepts are beyond me. I’m stuck on step three, where I have to find an “IPAddress entry” I have the folders pulled up now, and they are called {846ee (string of numbers and letters)} I can’t seem to see the IP Address D: Can anyone email me at ryu.almosthuman@gmail.com and lead someone who knows nothing about this through?
#17 by Suspicious at December 29th, 2009
So, I’ve been reading that there is a free TCP Optimizer program that does something like what you are describing.. I also read that TCP Optimizer is a trojan. Now with your this process of editing registry, does this open up a a computer to attack from viruses??
Also, do you know anything about TCP Optimizer trojan?
#18 by Suspicious at December 29th, 2009
*Trojan Ace
#19 by Sendaii at January 2nd, 2010
My ping is still a little on the high side compared to when I was running XP on my gaming rig, but it’s not the crippling lag that I had before using this fix. Thanks for posting it.
#20 by Sendaii at January 2nd, 2010
Oh, and I’m running Windws 7 Ultimate x64.
#21 by Dustin at January 4th, 2010
There are tools out there that make this change for you and the TCP Optimizer sounds like one of them. The change itself is harmless – it won’t increase or decrease your exposure to viruses – but the programs implementing it certainly could be malicious. Since the program probably requires administrator access to update your registry it could be doing other things without your knowledge, so making the change yourself is probably the safest route if you’re comfortable doing it.
#22 by Tomas at January 8th, 2010
Ok i have a problem in number 3. I do have dynamic ip adress… but in folder {C0EDBEE7-29B9-4C32-97B6-D13154373B4F} i have so many IP files that i don’t know what to do.
I could send a screen. If can’t tell me the answer here you can send it to my gmail. toma.pusnik@gmail.com.
#23 by suren at January 23rd, 2010
How to verify both?Plz help me…
#24 by MadGenius at January 27th, 2010
Hi, I need serous help. Its a complete disaster. when I start to play the game (DMC4) it lags about 1 picture per 4-15s. when I did the “Reduce game network latency in Windows 7 or Vista”, lag dissappeard, but it didn’t get any better. Graffics gone completely mad, some kind of a “glitch”. For instance close camera to the face, nothing exept ears, eyeballs, tongue and teeth. candle lights- yellow squares??? srr for bad en. PLEASEE HHEEEELP!!!!!!!!!!
#25 by jimmy at February 5th, 2010
Suspicious,
It’s not a trojan itself, but it works just like a trojan might, thus your antivirus thinks it’s a trojan. Nevertheless, before you do anything to the registry, it is always a good idea to create a Restore Point using System Restore in the event that something should go wrong.
#26 by PleiadesDesign at February 5th, 2010
Anyone still having trouble with this might be experiencing the same problems that we had on our systems. For some reason the BFE service (Base Filter Engine) is interfering with network traffic. We haven’t been able to figure out ‘exactly’ why this is yet. However, network latency goes away when the service is stopped. You might consider using this as a temporary work-around. If someone has a better fix for this, please let me know. I would love to have such information as well.
#27 by Glass Teapots at February 5th, 2010
Wow that really helped, thank you!
#28 by arcanblade at February 8th, 2010
i am xp where is lion from WoW
#29 by Poomonkey at February 15th, 2010
I went through all these steps, it lowered my latency numbers by about 75%…only issues I’m having right now is that I’m getting disconnected 5 or 6 times a day. Prior to doing this I would get disconnection issues maybe once a month, and only under network stress (uploading/downloading large documents). This is starting to cause issues with the people I run with seeing as I have an important roll in whats going on.
I was wondering if there was a way to reverse this? I tried going back to my directory and getting into the same area that the guide said to follow, but the options once I get to the Interface part, everything has changed. I remember doing all the steps, and getting to this point I had 10+ clickable items, now when I go through I have 4, and none of them look anything like what I had before.
I did this right around the time there was a patch in the game I play..I assumed this was the issue since no one else I spoke with was having any of these same issues. Is there anything I can do to decrease my disconnection issues?
#30 by godsbane at February 18th, 2010
MadGenius: You probobly need to A) update drivers or B) get a better video card.
#31 by Delilah at February 28th, 2010
This worked for my computer like a charm (Windows 7 32 bit) but for my husbands computer (Windows 7 64 bit) it did nothing to fix the problem. Any ideas why that is? He’s still running anywhere from 600ms to 1000ms depending on the demand of the game.
Any suggestions would be greatly appreciated.
#32 by Cruzader at March 1st, 2010
I’m using Win 7 Ultima (64bits) and it work perfectly.
Went from +200/350 to +50/100.