Вы находитесь на странице: 1из 2

Last Updated: 12/12/2002

Version: 1.0.0


This text file is part of Windows 2000/XP/2003 High Performance TCP/IP Package
(HPTP) [13 KB, free GPL]:
HPTP consists of 4 text files:
- HPTPREAD.TXT: ReadMe = MUST read first!
- CALCULAT.TXT: Calculations + formulas for TCP/IP registry settings. (this
- HPTCPIP.TXT: TCP/IP performance, security documentation + how-tos.
- NONREG.TXT: Non-registry Internet + online gaming performance procedures.

Unlike several of registry settings documented in this package, the registry

values referred to here are *extremely* sensitive to your particular
connection, and might be entirely unique to you. There is no "one size fits
all" value or set of values, and you must calculate them mathemetically on
your own, to match your particular hardware configuration and your needs.
* DefaultSendWindow
* DefaultReceiveWindow
* TcpWindowSize
* GlobalMaxTcpWindowSize = same as TcpWindowSize for max performance.

* DefaultSendWindow + DefaultReceiveWindow:
Both Send and Receive Windows use the same formula, as follows. The only
difference between them is that for Receive you start with your max download
cap and for Send, you start with your max upload cap (in my case 3000 kbps/256
[DLCapInKiloBITS]/8 = [DLCapInKiloBYTES]
[DLCapInKiloBytes]*1024 = [DefaultSend or DefaultReceiveWindow]
3000kbps/8 = 375
375*1024 = 384000

* TcpWindowSize + GlobalMaxTcpWindowSize:
Both these settings should be the same value for max performance, so you only
need to do 1 calculation here for both these registry settings. Before you can
calculate the value for these settings, do a ping on several different web
sites (I suggest at least 10) and take the mean (average) latency.
In my case the mean latency is about 100 ms for most web sites in the USA.
Then use the following formula. For cable the Maximum Segment Size (MSS) is
1460. This is true for cable and DSL connections, but might not be for other
media such as fiber optics, WiFi etc.
([DLCap]*[MeanLatency])/8 = A
A/1460= B
B -> rounding -> B*1460 = C
C = Base TCPWindowSize
OPTIONAL: Base TcpWindowSize*[scalar]
(3000kbps*100ms)/8 = 37500
37500/1460 = 25.685 -> rounded to next even integer -> 26
26*1460 = 37960
37960*2 = 75920
TcpWindowSize = 75960

1. Be sure to round your GlobalMax(TcpWindowSize) settings to an even integer!
2. To start out with I recommend trying the base TcpWindowSize value first,
and then raising it by 1 whole number scalar at a time until you get the
optimum value for your connection. For me, a scalar of two (37960*2=75920)
seemed to be the best, but it might not be the case for all connections. The
bottom line is, start with the base, and then go up from there until you
discover what works best for you.
� 2002 Andrew D. Bourdon - GNU General Public License (GPL):