Форум : WarCraft II

Название : Уменьшение пинга через TcpNoDelay и TcpAckFrequency

© 2005 www.runcms.org
https://www.war2.ru

URL этой темы
https://www.war2.ru/modules/newbb_plus/viewtopic.php?topic_id=1882&forum=1


 FX :

10.1.11 11:41
 В реестре поменять:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\
Там будет несколько подпапок с именем по типу {7DBA6DCA-FFE8-4002-A28F-4D2B57AE8383}. Заглядываем в каждую. Ищем ту, что содержит ключ с IP-адресом вашего интернет-соединения. Например, "DhcpIPAddress = 192.168.0.5". Остальные подпапки, скорее всего, будут содержать нулевые значения.
Ищем TcpAckFrequency, если нету создаем DWORD параметр с таким названием. значение 1.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSMQ\Parameters
Ищем TCPNoDelay, если нету создаем DWORD параметр с таким названием. значение 1.

ОК и перезагружить комп.

Мне помогло, на ~40% уменьшился пинг.

 Ldir :

11.1.11 18:18
 а лаги в игре?

 CBuH :

12.1.11 18:46
 а я вот развёл костёр и потанцевал с бубном. пинг уменьшился на 50%!

 FX :

13.1.11 02:24
 CBuH ты темный человек, вот цитата и ссылка на серьезный источник:

http://publib.boulder.ibm.com/wasce/V2.0.0/ru/tuning-windows.html
Цитата:

TcpAckFrequency Значение TcpAckFrequency определяет частоту отправки TCP/IP подтверждающего сообщения. Если значение равно 2, TCP/IP будет отправлять подтверждение после 2 принятых сегментов или после принятия 1 сегмента и отсутствия второго сегмента на протяжении 200 миллисекунд. Если значение равно 3, TCP/IP отправляет подтверждение после приема 3 сегментов, или после приема 1 или 2 сегментов и отсутствии последующих сегментов на протяжении 200 миллисекунд. И так далее. Если вам требуется сократить время ответа за счет удаления задержек отправки подтверждений TCP/IP, задайте это значение равным 1. В таком случае TCP/IP будет немедленно отправлять подтверждение для каждого сегмента. Если ваши соединения используются в основном для передачи крупных объемов данных и задержка в 200 миллисекунд несущественна, имеет смысл увеличить это значение для снижения дополнительной нагрузки отправки подтверждений. По умолчанию Windows использует значение 2 (подтверждение каждого второго сегмента). Диапазон допустимых значений находится в пределах от 0 до 255, где 0 указывает на значение по умолчанию (2). С помощью описанной ниже процедуры можно просмотреть или изменить это значение. Запустите команду regedit, перейдите к подразделу реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\ИД_адаптера (где ИД_адаптера идентифицирует задействуемый сетевой адаптер) и создайте новое или измените значение REG_DWORD с именем TcpAckFrequency. Укажите для этого значения подходящее число подтверждаемых сегментов. Закройте редактор реестра. Остановите и перезапустите систему.

 Ldir :

14.1.11 17:36
 FX, в игре используется протокол UDP, а не TCP. UDP более простой,там никаких подтверждений нет. Из-за этого все траблы. Если бы war2 работал на tcp, проблем бы было значительно меньше. TCP болле адаптивный к слабым каналам связи. А UDP расчитан на использование в локальных сетях.

[ Редактировано Ldir в 14.1.11 16:38 ]

 FX :

14.1.11 19:10
 Да, про это я забыл, но эта фишка хоть в других играх помогает.

© 2005 www.runcms.org
https://www.war2.ru

URL этой темы
https://www.war2.ru/modules/newbb_plus/viewtopic.php?topic_id=1882&forum=1