KB935458 v2 – Vista hotfix for TcpAckFrequency
Nov 10 2009 note: If you’re using Windows 7, do not try to install the hotfix – it’s for Vista only. However, you should be able to enter the registry key under Windows 7 – I did, and there weren’t any negative effects I could see although I have no idea if it’s providing any benefit (no way to test it at the moment), so feel free to leave a comment if you’ve created the key, and note whether you saw any benefit in games. Make sure you write down where you enter the registry key in case something buggers up so that you can remove the key if necessary.
If you just want the files asap, skip the rest of the read and scroll down to the end.
While browsing through the World of Warcraft Tech Support forums, I came across this thread which has something of a fix for high pings. For the technical side as to how and why this works, I suggest you read the thread. The short version is that the WoW servers apparantly wait for the client to send an “ACK” before sending the client new data. The problem is, the client does not always send that “ACK” right away, so you’re left with a period of time where both the client and server are waiting on each other. This *could* be fixed on Blizzard’s end at some point, but until then, there are a few ways of fixing this on your own.
The way to do this in Windows is basically to add a registry entry. The downside is that it changes this setting for the entire computer, and might affect other high-bandwidth programs negatively (the computer will now send a lot more ACK’s than it did before). There were well-written instructions in the thread mentioned above, so I’ll paste them here:
basically windows user type “regedit” in windows “run..” dialog to bring up registry menu then find:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\
Parameters\Interfaces\There will be multiple NIC interfaces listed in there, find the one you use to connect to the internet, there will be several interfaces listed (they have long names like {7DBA6DCA-FFE8-4002-A28F-4D2B57AE8383}. Click each one, the right one will have lots of settings in it and you will see your machines IP address listed there somewhere. Right-click in the right hand pane and add a new DWORD value, name it TcpAckFrequency, then right click the entry and click Modify and assign a value of 1.you can change it back to 2 (default) at a later stage if it affects your other TCP application performance. it tells windows how many TCP packets to wait before sending ACK. if the value is 1, windows will send ACK everytime it receives a TCP pckage. sounds straight forward to me.
The problem is that if you’re using Vista, it won’t work unless you install a certain hotfix first. I did a google search, and the only place I could find with the hotfix was http://thehotfixshare.net (which was actually mentioned in the forum). It’s a great site, and they offer the download for free, but you have to register first, and they don’t allow hotmail or yahoo email addresses (possibly others), which could leave some people out in the cold. Therefore, I’m offering the files here as well. If you feel like “giving back”, head to their site and make a donation – if it weren’t for them I wouldn’t have the files in the first place.
Keep the following in mind:
- These hotfixes are for Vista only. Don’t try to install them on XP (you don’t need them anyway).
- Install at your own risk. If they bork your system, are riddled with viruses that my virus scanner missed, or somehow cause you or your machine to participate in the annihilation of mankind, I’m not being held responsible. USE AT YOUR OWN RISK!
- One is for 32-bit Vista, one is for 64-bit Vista. Install the right one. Not the wrong one, not both.
- After you’ve finished with the hotfix, remember to add the TcpAckFrequency registry key!
Good luck!
Downloads
Vista 32-bit – Windows6.0_KB935458_v2_x86.msu.zip
Vista 64-bit – Windows6.0_KB935458_v2_x64.msu.zip
EDIT: A few people were having issues downloading the files (getting garbled text instead of the download). I downloaded the files from thehotfixshare.net and put them back up, just in case something went awry on the server. They’re now zipped.
One other note – a post at thehotfixshare.net in the x64 section noted that “this is fix for non sp1 systems only”. If you’ve installed Vista’s Service Pack 1, these may not work, although if Microsoft included it in the SP1 update (no idea if they did or not), then you might be able to use the registry key. Just make sure you write down (or print) where you change the registry so that you can reverse the change if it doesn’t work and you lose network access or something.


Hi Matt,
Couple of questions:
- After running Faster Ping, would entering the registry key described above, give good results? (Faster Ping sets TcpAckfrequency to 1)
- the hotfix with DL link above is now part of vista with sp1?
- about TCPNoDelay, is this only for XP since I didn’t find the folder where you input the changes(2 – TCPNoDelay
This one is pretty simple
Discussed here
Type “regedit” in windows “run..” dialog to bring up registry menu
Then find:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSMQ\Parameters
Right-click in the right hand pane and add a new DWORD value, name it TCPNoDelay, then right click the entry and click Modify and assign a value of 1.
Click Ok and close the registry editor, then reboot your PC.)
Many thanks,
Khabaal
Hello Matt,
After using Faster Ping, is it good to do the registry editing described above?
Is the hotfix included in the SP for Vista now?
Thanks,
Khabaal
Khabaal:
I haven’t personally used Faster Ping. You could try using the hotfix anyway, although unless they recommend it, it may not give any additional benefit.
Hello,
I have Vista on a 32-bit Operating System but I did not download the link. I just went ahead and did the whole Regedit process as directed up there. It did improve my lagging a lot, (from what I can see) so I’m not sure if I really needed the download or not. Oh, and I also use wireless…which still worked for me. :]
Phoebe:
I’m going to guess you’ve already got Vista’s Service Pack 1 installed, so don’t bother trying to download/install the files I listed – they’re unnecessary with SP1 and probably wouldn’t install for you anyway.
Glad it’s working for ya!
Hi dudes i a have downloaded the hotfix successfully and the program.
The problem is that i dont know how to fix my TcpAckfrequency, i mean what should i say in the box
Thanks in advanse
wAkE uP:
It’s this section of the post you’ll want to look towards…
tacpAckfrequency what is that and how should i know what to enter in the box
I got the HotFix but Vista gives me the same crap it gives me for every HotFix. Does not apply to this system. I have both V1 and V2. Won’t take either. I have Sp1 and tried to remove and re-install it. No good. I have tried just adding the Ack Keys on my own and it hasn’t blown up yet. Any idea how to get this retarded OS to take it’s own hacks?
Hank White:
As mentioned, SP1 already includes it, so it won’t allow you to install the hotfix (since it’s technically already there). You should be able to simply add the registry key.
Is there coming any hotfix for Windows 7?
Hi Matt,
I’m running vista 32-bits with SP1 and I’m planning to try this out, but if I don’t like it I can just delete the added registry keys and all would go back to normal, right?
Also, is this add needed too? :
2 – TCPNoDelay
This one is pretty simple
info here: http://technet2.microsoft.com/window….mspx?mfr=true
Type “regedit” in windows “run..” dialog to bring up registry menu
Then find:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSMQ\Paramet ers
Right-click in the right hand pane and add a new DWORD value, name it TCPNoDelay, then right click the entry and click Modify and assign a value of 1.
Click Ok and close the registry editor, then reboot your PC.”
Dynath:
While I’m not 100% positive on this, I believe Vista SP1 already has the patch built-in. So you shouldn’t have to download/install/run it (in fact, it probably won’t let you install it). Just add the registry key and restart the computer. If it works, great! If not, just remove the key. Make sure you write down the location where you entered the key beforehand in case you have to remove it.
The TCP NoDelay option from what I gather appears to disable the Nagle algorithm. You don’t need it to do the TCPAckFrequency thing – it’s a separate mod.
You can try both if you’d like, although I’d do one first, restart the computer, test, and then do the 2nd. That way if there are issues you can figure out which one is the cause.
I was directed here from the FasterPing progem because I run vista, but neither of the above links work for my computer, or so it said
RyanS:
You may already have SP1 installed in which case it already includes those patches. If that’s the case, it won’t let you install the patch (since it’s technically already installed). Just enter the registry key. Remember to write down where you entered it in case something goes awry so that you can remove it later.
Problem I have is when i do the regedit and i look for HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSMQ\Parameters, I do not have the MSMQ folder. Any ideas why not?
For months already, I havent been able to solve this issue, I followed all the directions there, tried to add the DWORD ( TcpAckFrequency ) and ( TcpNoDELAY ). The thing is, theres already that type of file in that folder, and it was set on “1″. I’m real confused, I’m using a Vista SP1 32bit, installing the hot fix doesnt work, because yeah, I have an SP1.
These arent working so far. Although, theres some weird thing, in the
“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\
Parameters\Interfaces\There will be multiple NIC interfaces listed in there, find the one you use to connect to the internet, there will be several interfaces listed (they have long names like {7DBA6DCA-FFE8-4002-A28F-4D2B57AE8383}.”
There are 2 files that got alot of setting, I’m not sure which one do I use to connect to the internet.. However, one of them already has the TcpAckFrequency file, while the other one doesnt, and I added the TcpAckFrequency on the one that dont have 1, set it to 1, and it still doesnt change a thing. Am I doing something wrong? Which file thats necessary for the changes? TcpAckFrequency or TcpNoDelay? (I did both though)..
Hope I can get this working out. Many thanks
Just wanted to give an update to this info.
#1 If you have SP1 you can not install the hotfix but it does apear to be included in SP1 so you should be fine
#2 if you want to try this fix
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSMQ\Paramet ers
Right-click in the right hand pane and add a new DWORD value, name it TCPNoDelay, then right click the entry and click Modify and assign a value of 1.
Click Ok and close the registry editor, then reboot your PC.”
You should know this regline is not in Vista if you want to use it you will have to add it manualy i wrote a scrip to add this and am including it here if you want to use it.
If you do creat a TXT file and call it what ever you want, then go into it and paste What is between the ***
***
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSMQ\Parameters]
“TCPNoDelay”=dword:00000001
***
Save the file then rename the ext from .txt to .reg and run the file it will confirm with you if you want to do this if you do click yes and restart.
I have not found anywhere that says this does not work on Vista or that it does so no idea what to tell you i added it in hopes it helps which it did not unfortunitly but worth a try if people are out of options.
WARNING: Do this at your own risk i did it but i do know what i am doing you have to understand what you are doing before you mess with your registy so please make sure you are comfortable with that you are doing and just a note you can add favorites in regedit to what you edit incase you forget and need to get back to where you edited something but dont have internet to tell you where to go.
what about windows 7? Does it work on it?
i have a problem, i can’t find my ip address under interfaces. and there are like 3-4 folders that are very long as well. which one do i have to put it under?
i’m wireless as well
hi there
ok basically ive gone and changed my registry to 1 as said above but in my system TcpAckFrequency was already there and as a 1? but still my latency is about 500ms any help here?
Hi there,
For me, i use Vista 32bit sp1 and when i installed it, the fast ping ran without a problem.
But I moved my house so I got a different connection for internet and now the fast ping doesnt work it pops a tab saying
“Application attempted to perform an operation not allowed by the security policy. To grand this app the required permission, contact your system ad or use ms .net framework config tool. Requested registry access is not allowed”
I have no clue what is wrong. the TcpAckfreq file was alrdy in the w/e u posted up there and it was setted to 1
Uh i sorta need help
Thanks
Hello Matt, I got some problems with this thing.
I got Vista 32-bit with the SP1.
And if I understood u right I should just go do the thing u said above with the Regedit stuff. So I did but my Ms(ping) dident change at all.
U know what to do?
Would be awsome bein looking for this for ages!…
Thanks in advance!
///Petter
Matt is there a fix for this on Vista 64 bit machines
or will this work for these machines
Hi Matt, I am running on a 64 bit Vista with sp1 do I still need this hotfix? Because if I try disabling nagle the XP way, it doesn’t work at all. Oh yeah and how can I add this hotfix to the registry editor? Thanks!
Shady: Since you’re using SP1, you shouldn’t have to install the hotfix. Just add the key to the registry (click Start/Run and type in “regedit”). The location and key to add are in the instructions. Be careful when adding the key – one mistake in the registry and your system may not boot anymore so read the instructions a couple times, and take your time. Good luck!
Hi there ^^ Well I looked at this and I’ve done this before; I have SP1 but my games are STILL lagging. I don’t know why and it’s frustrating. Maybe because the servers are busy? Could that be it? But it should still work even though the game is…busy. -_- I don’t know what’s wrong with the computer. T_T
Evee: Unfortunately the TcpAckFrequency “fix” isn’t a cure-all. For someone who has latency of well over 100ms in games, but for the most part has a smooth playing experience (just a lot of delay between the time they click/do something and the time it actually happens in game), the TcpAckFreqency tends to reduce that latency a lot – not enough to make it as good as if they had a < 100ms connection, but noticably better.
Because it hasn't helped you, I'd start narrowing down the causes like this (no need to do them all, but each can help eliminate a cause):
1) Ask other people in game how much latency they're getting. If most people have pretty good numbers, it's probably not the server being too busy.
2) Play on another computer from your house (if you don't have one, ask a friend over to play). If the lag is drastically better on the other computer, that's an indication that *your* computer's got some issues.
3) Bring your computer elsewhere to play – if you've got DSL, head to a friend's who's on cable. If you're on a laptop, bring it to a Wi-Fi hotspot somewhere. If the latency improves, that indicates it may be an issue with your connection.
4) If you're behind a router, try bypassing the router (plug your computer into the cable-modem/dsl-modem directly). If things improve, your router could be the issue.
In any case, it really comes down to narrowing the causes and going from there. Best of luck!
if i download the wrong one wat will happen??
If you download/install the wrong one… well I’m not sure. Hopefully it just won’t install, but either way, I wouldn’t suggest it.
If you’re not sure whether you have 32-bit or 64-bit Windows, you can right-click on “My Computer” and choose “Properties”. Below the CPU and Memory it should either say “32 bit operating system” or “64 bit operating system”.
Hi there,
I was wondering if this hotfix is valid for Windows 7 as well, i’ve tryed to install it but it keeps saying that it is not applicable to my computer, therefore i think that it can’t be used.
I’d like to have this hotfix for Windows 7 as well so that i can use Faster Ping. If u could give me a link to download it i’d deeply appreciate it.
Tyvm
Sesamo:
I’ll open up a Windows 7 VM at some point and do a little playing. I’d guess that the hotfix is already built into Win 7 in which case it’s just a registry entry that would be needed, but I’ll test it out and make sure there aren’t any adverse effects.
Alright I added the registry key from the writeup to Windows 7 (32-bit). I did NOT install the hotfix first, and you certainly shouldn’t try to install it. There weren’t any adverse effects that I could see with the registry key added (network/internet still seemed to work).
That said, I don’t have WoW on the VM (or any other games that measure ping/latency), so I don’t have any way of knowing whether the key is actually providing any benefit. It’s not buggering anything up though which is a good sign (under the original non-SP1 Vista, the network would stop working if the hotfix wasn’t installed before applying the registry key).
If someone’s added the key in Windows 7 and noticed an improvement, please leave a comment. Do NOT try to install the hotfix though – just add the registry key (and make a note of where it is in the registry in case something goes awry and you have to remove it).
hey i need help windows vista help.
ok i have downloaded all those things i have ran them and everything clicked all of them and all i get is cannot install or sumthing i have no idea how to put ;;regedit;; in or were i dont no what HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSMQ\Parameters isor how to get there
all i see is TcpAckfrequency [01] and donate at the top and apply at the bottem were is the box were i type this stuff in help me please
mabey sumbody can walkthrough it for me step by step what to downlaod first and what to do next and next sorry i am really bad when it comes to this stuff
Thanks alot! This really helped fix my lagging problems.
Was at 7000ms and within 10 mins it went down to 800ms =)
Hello?
i have a question.
play the fasterping.
error – fasterping already run
What should i do?
I’m using Windows 7 Ultimate 64 bit and I can say that by just adding in the registry will work without the hotfix; however, no change will occur unless you add the TCPNoDelay registry under software/microsoft/msmq and set the value to 1.
@Daro
OMG and u think, 800ms is a good thing??? Its almost impossible to play wow with 800ms.
Haven’t test it yet, there is a server maintenance right now. People should open the eyes more and read the whole content of this site coz there are nice explanations on how to do this.
Does it matter whether or not the DWORD Value is 32bit or 64bit? I created a 32bit value since most of the stuff is based off a 32bit platform. I’m using Vista 64
Any thoughts?
Hey man. I can’t thank you more for this. Help me with me Wow ms a Bunch of times now. Going from about 300+ ms to about 50-80. Thanks ALOT!