scaR
05-22-2006, 07:34 PM
Everyone may have different results of course.
I found that at least three times per game my connection would hang and depending on the latency, there was a good chance that I could drop. Soo.. I got to thinking that there must be a bottleneck somewhere.
Using ecktt's advice I tried setting the MTU to 576. I used some app (deleted that mc, was no good) to do this and it resulted in a consistant stutter. According to the theory everyone needs to be set to 576 for it to work. A while after I got a few BSOD's. I reversed the settings with the app but the BSOD's we still present, however my connection did seem more stable. Still, I needed to go to a backup of the registry.
Before I did that I checked TCP entries with CableNut. It turns out that the TCPWindowSize was set at an incorrect multiplier to the TCP Send and Recv segment sizes. I noticed this by comparing the CableNut defaults. TCP entries do not include the overhead so keep a mental note of the real figure.
TCP Packets have an over head of 20 bytes for the TCP Header and 20 bytes for the IP Header. A total 40 byte overhead.
I tried 546 (576) which turned out to be clearly too small a segement size. From there I tried 1000 (1040) which was aight but not that great on dialup. Eventually I found a sweet spot of 750 (790). Having the same send and recv sizes was optimal. This cut down most of the lag and reduced hang times to once per game at a shorter length of time.
You may or may not find a better setting for you.
Another thing that was essential was finding the right TCPWindowSize. Which you must multiply directly with the TCP Segment Size. Usually Cablenut sets this on par with the GlobalMaxTCPWindowSize. I found that setting this to half meant I could have more connections without having to worry about one killing it for everything else. I noticed no bandwidth hit when running one download, but then this is dialup.
eg. 750 x 5 = 3750 : TCPWindowSize
As long as it's a multiple of the send/recv size there should be no problems.
For the GlobalMaxTCPWindowSize I simply doubled the size of the TCPWindowSize.
eg. 3750 x 2 = 7500 : GlobalMaxTCPWindowSize
http://pvpgn.trinigamers.com/images/cn.GIF
If you're on Cable or DSL I would definitely recommend that you apply the Cablenut defauts to your system before you tweak the TCP settings. You may find that the Cablenut settings are enough.
http://www.cablenut.com/
I found that at least three times per game my connection would hang and depending on the latency, there was a good chance that I could drop. Soo.. I got to thinking that there must be a bottleneck somewhere.
Using ecktt's advice I tried setting the MTU to 576. I used some app (deleted that mc, was no good) to do this and it resulted in a consistant stutter. According to the theory everyone needs to be set to 576 for it to work. A while after I got a few BSOD's. I reversed the settings with the app but the BSOD's we still present, however my connection did seem more stable. Still, I needed to go to a backup of the registry.
Before I did that I checked TCP entries with CableNut. It turns out that the TCPWindowSize was set at an incorrect multiplier to the TCP Send and Recv segment sizes. I noticed this by comparing the CableNut defaults. TCP entries do not include the overhead so keep a mental note of the real figure.
TCP Packets have an over head of 20 bytes for the TCP Header and 20 bytes for the IP Header. A total 40 byte overhead.
I tried 546 (576) which turned out to be clearly too small a segement size. From there I tried 1000 (1040) which was aight but not that great on dialup. Eventually I found a sweet spot of 750 (790). Having the same send and recv sizes was optimal. This cut down most of the lag and reduced hang times to once per game at a shorter length of time.
You may or may not find a better setting for you.
Another thing that was essential was finding the right TCPWindowSize. Which you must multiply directly with the TCP Segment Size. Usually Cablenut sets this on par with the GlobalMaxTCPWindowSize. I found that setting this to half meant I could have more connections without having to worry about one killing it for everything else. I noticed no bandwidth hit when running one download, but then this is dialup.
eg. 750 x 5 = 3750 : TCPWindowSize
As long as it's a multiple of the send/recv size there should be no problems.
For the GlobalMaxTCPWindowSize I simply doubled the size of the TCPWindowSize.
eg. 3750 x 2 = 7500 : GlobalMaxTCPWindowSize
http://pvpgn.trinigamers.com/images/cn.GIF
If you're on Cable or DSL I would definitely recommend that you apply the Cablenut defauts to your system before you tweak the TCP settings. You may find that the Cablenut settings are enough.
http://www.cablenut.com/