Open a command prompt with admin rights. To do so, go to the following location:
Start Menu -> All Programs -> Accessories
And then right-click on Command Prompt and select "Run as Administrator". If you have disabled the UAC, then you can just open it normally.
Either type, or copy and paste, the following into the command prompt, and then press 'Enter' on your keyboard:
netsh int tcp set global congestionprovider=ctcp
This turns on Compound TCP, which increases the TCP window much quicker than the traditional TCP algorithms allow for. This means that when a sudden burst of larger packets comes in, or goes out, Windows adjusts its settings faster than normal to compensate for it, allow for faster data transfer on broadband connections and lower latency while gaming.
Warning: I highly recommend that you create a System Restore point before proceeding with the next three steps.
Click the 'Start' button, type regedit in the search field, and press 'Enter' on your keyboard. If you don't know how to edit the registry, then you may want to take a look at this article.
Navigate to the following registry key:
When you click to expand 'Interfaces', you will see one or more subkeys with long names that looks like the following screenshot:
interfaces_subkeys.png 3.83KB 3303 downloads
You will need to know what IP address your computer has on your local network (not on the Internet), and then find the subkey under 'Interfaces' that has the correct IP address. If you don't know how to find out the IP address on your local network, then check out this tutorial. In most cases only one of the subkeys will have all of the information, so it should be easy to find even if you get confused. Look at the following screenshot to see what all of the information looks like:
correct_interface.png 111.61KB 4638 downloads
Once you find it, you need to add two registry values to it. They are both 32-bit DWORD values. They are as follows:
After adding both of those, double-click on each one, and give them both a hexadecimal value of 1, just like in the following screenshot:
hexadecimal_value.png 24.27KB 4216 downloads
After doing that, they should look like they do in the following screenshot:
interface_tcp_final.png 140.4KB 3652 downloads
Click on 'Start', click on "Control Panel", click on 'Programs' in the lower-left, and then click on "Turn Windows features on or off" under the "Programs and Features" section. You will want to expand "Microsoft Messaging Queue (MSMQ) Server" by clicking the little plus to it's left, and then expand "Microsoft Messaging Queue (MSMQ) Server Core" as well. After doing that, click all of the checkboxes under the "Microsoft Messaging Queue (MSMQ) Server" section, just like in the screenshot below:
msmq_items_to_select.png 46.17KB 4621 downloads
If you closed regedit earlier, you will need to open it back up for this step.
Navigate to the following key in regedit:
All we need to do here is add TCPNoDelay to the 'Parameters' key, with a 32-bit DWORD value of 1. This will work pretty much the same way that it did before. It will look like the following screenshot when done:
msmq_settings_final.png 123.49KB 4426 downloads
If you completed those steps properly, then you should be able to play CoD4, or whatever other online games you enjoy, with much less lag.
Note that I don't actually understand why installing and configuring Microsoft Messaging Queue helps reduce the latency. I just know that it helped on my computer, and has helped on other peoples' computers.