R1CH (@teamliquid.net) Improving Latency As I've mentioned, SC2 uses TCP. TCP is designed for data transfer with latency as a secondary consideration to bandwidth, so isn't really ideal for real-time games. Almost every FPS game in existence uses UDP for this reason. TCP requires reliable delivery - if a packet is lost, it has to be retransmitted, stalling the rest of the data while this happens. There is a small tweak you can make to improve TCP responsiveness for gaming.
Change TcpAckFrequency to 1:
How Run registry editor (Start, Run, regedit) and navigate to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces. You will see a list of random looking keys, find the one that has the "IPAddress" value that matches your current IP. Right click on the right side and go New -> DWORD. Call it TcpAckFrequency with a value of 1.
Why this works Usually TCP delays sending acknowledgments of received data until either more data has been received OR a timeout period elapses. This timeout period may be because the sending side is waiting for the ack before sending more data. By setting TcpAckFrequency to 1, you send an acknowledgment immediately rather than waiting, preventing miniature "stalls" in the data stream. Note that this WILL reduce your bandwidth, as you will be sending more ack packets, thus using more network resources.
interesting post from teamliquid.net (Original Post), explains this tweak:
This should probably be reworded:
"Note that this WILL reduce your bandwidth, as you will be... using more network resources"
to something like:
"Note that this WILL consume more bandwidth..."
as it could be read wrong at first. Either way, interesting find, but I'm not sure exactly how applicable it is.
agree with your correction, just posted the quote as is, cause it's pretty clear it would have a negative effect on bandwidth.