Reduce Gaming Latency (Ping) in Windows
When I connect to game servers I usually do not have a bad ping provided that automatic match making does not connect me to a server in Australia, Japan or the US (I'm from Germany). That happens at times, both in Team Fortress 2 and in Counter Strike Global Offensive, the two games that I play the most currently.
I do play a lot with friends and notice that their pings are usually a lot worse than mine. I used to attribute this solely to their Internet connection and did not really think that connection tweaks would change much in this regard.
Then I read about two Registry settings, TCPAckFrequency and TCPNoDelay, and how they can bring down the ping in games and other applications that work best with low latency. If you are a gamer and experiencing lag issues when connected to a close-by server, you may want to try tweaking those two settings to see if this makes your gaming experience more enjoyable.
Tip: use a free program like Network Latency View to record latency.
- TCPAckFrequency "uses delayed acknowledgments to reduce the number of packets that are sent on the media". Instead of sending an acknowledgment each time, acknowledgments are delayed.
- TCPNoDelay determines whether nagling is enabled or disabled. Nagling "is a feature that combines several packets into a single, larger packet for more efficient transmissions".
This reduces the overall load on the network to optimize network traffic. The drawback is that latency may increase because of it. If you are using your PC mostly for gaming, or experiencing issues with lag in games, then you may want to see if turning off those features improves gaming latency on your end.
Fixing game lag
You need to make two changes to your Windows Registry.
- Use Windows-R to bring up the run box on the system.
- Type in regedit here and tap on the enter key
- Navigate to the following Registry key here using the tree-like structure on the left: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces
- Here you need to go through the list of sub-keys to locate the network adapter entry that is used to connect to the Internet. If you are using DHCP, you need to look for DhcpIPAdddress here to find the correct adapter, otherwise you need to look for IPAddress here.
- Most of the entries did not contain any useful data on a test system, so that finding the right one should be relatively easy.
- If you do not know your local IP address do the following to find it out: Use Windows-R to bring up the runbox, type in cmd and hit enter. Here you then need to enter ipconfig to display the IP address.
- Once you have located the correct key right-click it and select New > Dword (32-bit) Value.
- Name it TcpAckFrequency and click ok.
- Double-click the value afterwards and set its value to 1. (To restore the default setting, change the value to 2 or delete the key)
- Now navigate to the following key: HKEY_LOCAL_MACHINE\Software\Microsoft\MSMQ\Parameters
- Right-click on the key again and select New > Dword (32-bit) Value.
- Name the new parameter TCPNoDelay
- Double-click it afterwards and change its value to 1. (To restore the key at a later point in time change it to 0 or delete the key)
All that is left now is to reboot the PC, log off and on again, or kill and restart the explorer.exe process.
The effect depends a lot on the games you play, your Internet connection, and the servers you connect to. There have been reports by users who claimed that this reduced their ping times by 100ms and more in games they play.
go control panel >> add remove program >> left side press Turn Windows Features on or of >> check ture at Microsoft Message Queue ( MSMQ) server check for box inside it
I did all the steps instructed but ping didn’t changed, can you tell me why and how?
Hi when I restarted it it gave me a black screen can you help me?
how to download it
http://www.ownedcore.com/forums/world-of-warcraft/world-of-warcraft-exploits/70980-cant-find-your-msmq-folder.html
Uhm, There’s no folder under MSMQ for me. Help? Windows 10.
hi if there is no parameters in my MSMQ can i just create a new one?
Hey what happens when you increase the tcpack and TCPnodelay to a higher value then one. Because in Minecraft I know many people now are setting the value of one to numbers like 3,16 and one person even did 999 but he destroyed his CPU. So could you tell me what really happens when you increase those values?
thx it’s works
hello.
i look alot but there is no parameter folder in my MSMQ folder.
If you cannot find it, create the key.
I can’t find MSMQ where you said it was in the registry.
What do I change for Vista, then? Assuming this was written for XP, and that the two are so fundamentally different, and that 7 resembles Vista…
me too…
i can’t to find MSMQ
If you cannot find it, it may not be installed. Try this: http://support.microsoft.com/kb/256096
I use this software called GAMO at http://www.getamoveon.net to fix my latency in WoW
Works like a charm
I used to edit the registry too but nowadays I just use Leatrix Latency Fix.
http://www.wowinterface.com/downloads/info13581-LeatrixLatencyFix.html
It did the job : ping dropped from 120ms to 30ms (rounded values).
:-) Thanks Martin.
Nilpohc, this means faster internet speed? ( You said you are not a gamer).
Yep ! Absolutely. Don’t get me wrong : it doesn’t really improve bandwith but websites are reached faster so the overall browsing experience seems more fluid. So it works as expected.
Still, there is one question that needs answer : what are the potential drawbacks ?
You are welcome ;)
im stuck at the HKEY_LOCAL_MACHINE\Software\Microsoft\MSMQ\Parameters
i stopped at the MSMQ, but there is no arrow leading to peremeters. should i right click the folder or is there something else :/
Most games use UDP to avoid this kind of delays.
Can someone create a bat file to change these settings and to revert if they don’t get the desired results
thanks
I dont find any reference frome MS for TCPNoDelay at HKLM\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces\{NIC-id}
TCPNoDelay exist for HKLM\SOFTWARE\Microsoft\MSMQ\Parameters
source: technet.microsoft.com/en-us/library/cc783904(v=ws.10).aspx
You are right, I corrected the article. The second key is located elsewhere. Sorry for that.
Hum…I’m afraid the mentioned technet article applies only to windows server edition (written on top of page)…which explains why i can’t find the MSMQ registry key in my Windows 7 installation.
Besides, i’ve just found some blog posts confirming the first version (adapter key as for “TcpAckFrequency”).
That being said, i’m not a gamer but i’m willing to try the trick :-)
I really want to play CS GO, but cudn’t do so because of lack of wired connection in my area and wireless ones sucks!!!!!!!!