Как понизить пингЧитатель с критическим мышлением взглянет на заголовок статьи и скажет, опять очередная подборка сто тысяч раз виденных советов по настройке реестра в Windows и в какой-то мере будет прав. Просматривая наиболее топовые статьи по теме "как понизить пинг", в глаза так и бросается массовое заблуждение и перепечатывание одних и тех же рекомендаций, которые вообще повлиять на него в играх ну ни как не смогут.
Пинг — больная тема всех любителей онлайн-игр. И реальность такова, что понизить его своими силами в играх, получится не у всех и даже не у каждого второго. Как один из бесплатных и доступных способов, попытаться снять нагрузку со своего оборудования и переложить ее на оборудование провайдера, тем самым убрав задержки при склеивании фрагментированных пакетов. Возможно это и понизит пинг, но узнать можно только экспериментальным путем.
Как это сделать? Читаем ниже.

Как понизить пинг в играх, только настройками в ОС

Природа появления его бывает трех видов:
1) Локальная проблема у пользователя
Сюда входят:
  • неправильное конфигурирование операционной системы в сетевой части
  • вирусы
  • кривые параметры в игре или программе
  • проблема с конфигурированием или производительностью "железа" (3G-модема, сетевой платы, роутера и прочее).
2) Проблема из-за оборудования провайдера
Грубо говоря сюда входит маршрутизатор, который стоит в подъезде, линии тянущиеся от него или каналы связи до самого провайдера и коммутаторы\маршрутизаторы и прочие железки, пропускающие весь трафик абонентов на вышестоящих провайдеров.
3) Проблемы с транспортом, с вышестоящим провайдером и конечным сервером.

Если со вторым и третьим пунктом чаще всего бороться можно только одним способом. Сменой поставщика услуг. То вот в первом варианте можно попытаться сделать все зависящее от нас, чтобы пакеты бежали как можно быстрее и на полных парусах до сервера, не испытывая ненужных задержек.

Доводилось вам слышать такие слова, как UDP и TCP? И вероятно знаете, что это вышестоящие протоколы расположенного над IP? 
В интернете очень много статей, как понизить пинг средствами ОС. И подавляющее большинство из них описывает настройки в реестре и предлагает добавить TcpAckFrequency или TCPNoDelay или еще какие-то параметры. Т.е. описываются параметры  TCP (которые в играх практически не используются и на ping ни как не влияют), а по факту нужны настройки для UDP-протокола. Эта путаница, мягкого с теплым и не понимание, приводит к тому, что у читателей появляется разочарование после применения данных советов. В играх ничего не меняется по сетевой задержке.
Для наглядности привожу перечень наиболее популярных игр, с запросом про пинг и мы посмотрим какой протокол они используют у себя:

Игра Протокол
Counter-Strike: Global Offsence (CS: GO) udp
Counter-Strike 1.6 udp
World Of Tanks (WoT) udp\tcp
Warface udp\tcp
Dota 2 udp
Grand Theft Auto (GTA) udp\tcp
Counter-Strike Source v34 udp
World of Warcraft (WoW) udp\tcp












Как видно из примера, все популярные игры завязаны на один протокол. И это не просто совпадение. (Присутствие TCP, во все не говорит о том, что для игровых ситуаций он используется. Чаще всего TCP задействуют только для обновлений, лаунчеров и передачи информации с гарантированной доставкой.)

Разработчики намеренно используют User Datagram Protocol для многопользовательских игр, так как он позволяет наиболее точно и максимально быстро передавать данные о нажатии клавиш, положений персонажа в игровом мире и передаче прочих данных, требующих самого актуального состояния. 
К слову, этот протокол не идеален. Если потеряется пакет и он не будет продублирован, то в игре это будет лаг. У него имеется множество минусов на первый взгляд, но это только на первый. Разработчики знают его сильные стороны и именно его выбирают в сетевой части для многопользовательских игр.
На него можно хоть как то повлиять либо в самой игре, либо настройкой MTU в ОС. В играх обычно используются консольные команды типа rate\cl_cmdrate\cl_updaterate или еще какие-то аналоги.
Теперь самый важный момент в статье!! Вам нужно подобрать правильный параметр IP MTU и держать его в уме, при изменении сетевых значений в игре. Подбирается он так:
Пуск - выполнить - cmd
ping yandex.ru -f -l 1500
Определение фрагментации пакета

уменьшайте значение до тех пор, пока пакет пройдет не фрагментированным. И пингуйте сервер, на котором собираетесь играть.
Как только определили максимальный размер пересылаемых данных, прописываем или добавляем в реестре
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces\код_адаптера
параметр MTU (reg_dword) равный нашему значению и +28. Т.е. если значение было 1422, то прописать нужно 1450.
Почему +28? Это из-за разных протоколов, ping использует ICMP, а мы настраиваем IP.
И после того, как вы подобрали нужный размер MTU, внесли данные в реестр, перезагрузили компьютер. Только тогда можно приступать к настройке сетевой части в самой игре, чтобы понизить ping.

Фрагментирование может влиять на пинг в игре

Почему важно избавиться от фрагментации на уровне ОС? Имеет она свои минусы и очень существенные:

  • Сервер должен получить все фрагменты, чтобы собрать пакет целиком. Если хоть один будет утерян, считайте что вы получите лаг в игре.
  • Фрагментация приводит к нагрузке на процессоры транзитных маршрутизаторов и конечного сервера. Если несколько сотен пользователей, на осаде замка например, будут так нагружать сервер, лаги почувствуют все из-за нагрузки на сам сервер.
  • Увеличивается требование к памяти маршрутизаторов, так как он должен хранить все фрагменты, пока пакет не будет дальше собран и отправлен. Если с этим проблемы у него, это увеличивает пинг или появляются лаги
  • Часто фрагментирование выполняют медленные процессоры, отсюда появляется задержка
  • Есть еще минусы, которые так же могут добавлять ping в игре

И в заключении, что нужно прописывать и для какой игры и другие способы как повлиять на сетевую задержку, будет рассмотрено в следующих статьях. (третья и четвертая части)
Надеюсь чуть-чуть внес ясности в тему, как понизить пинг своими силами и вы узнали, что повлиять на UDP-пакеты настраивая только параметры TCP - нельзя. Но можно настроить сетевую карту особым образом, чтобы еще понизить пинг и отгрызть драгоценные миллисекунды! Эта интересная тема будет раскрыта в следующей статье (вторая часть).


Перепечатка и размещение материалов, на других
ресурсах, разрешена с указанием источника
soft-tuning.ru © 2013-2024