Настройка сетевой карты для онлайн игр

Обновлено: 05.07.2024

Не смотря на то, что Windows 10 с каждым обновлением становится ближе к играм и Microsoft работают над оптимизацией в этом направлении, некоторые элементы остаются неизменны и их нужно менять, а что-то надо подстраивать под себя. Для настройки нам понадобятся редактор реестра, командная строка и PowerShell

NetworkThrottlingIndex

Следует начать с этого важного параметра производительности сети, т.к. ещё со времён Windows Vista предпочтение отдаётся процессам мультимедиа, а на сеть выделяется 10 тактов за миллисекунду. Чтобы отключить это ограничение нужно в редакторе реестра пойти по пути

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile

и выставить NetworkThrottlingIndex равным FFFFFFFF (шестнадцатеричное)

Это тема потянет на отдельную статью, так что вот вам инструкция , но если вы подключены к 3G, 4G и т.д. или просто ваш провайдер экономит IP адреса и держит вас за NAT, то этот способ определения может не работать и лучше перепроверить через анализатор .

Стек TCP/IP

Причём тут TCP, если например большинство игр используют UDP? Ну во-первых мы говорим про TCP/IP, а это семейство протоколов, в который входит и UDP. Во-вторых при одновременной работе TCP и UDP первый может мешать работе второго.
Начнём с отключения функции объединения сегментов, которая может вызывать задержки (отключаем через PowerShell):


Set-NetOffloadGlobalSetting -ReceiveSegmentCoalescing Disabled

Отключаем автотюнинг и масштабирование окна TCP(могут быть причиной bufferbloat проверять здесь ) :


Set-NetTCPSetting -SettingName InternetCustom -AutoTuningLevelLocal Disabled

Set-NetTCPSetting -SettingName InternetCustom -ForceWS Disabled

Уменьшаем кэш соседей (ставит тот что должен быть по документации):

Set-NetIPv4Protocol -RouteCacheLimitEntries 128

Чтобы отключить дополнительные твики TCP от майкрософта (RACK, TLC, увеличенный ICW ), нужно в командной строке выполнить:

В этой статье будут рассмотрены настройки сетевой платы, которые теоретически могут снизить высокий пинг в игре, победить лаги и как то повлиять на fps. Из первой части мы поняли, что динамичные многопользовательские онлайн игры используют протокол UDP, поэтому при ее настройке будем это учитывать. Обращаю внимание, что так сбить высокий пинг и убрать лаги получится, если у вас слабый компьютер и "хорошая" сетевуха или наоборот. Играясь с этими параметрами, нужно пробовать переложить нагрузку на то железо, которое у вас не испытывает проблем с производительностью. И итогом всей этой битвы и мучений, может быть станет выигрыш в несколько миллисекунд.

Почему пинг высокий и как его понизить?

В первой части (из серии статей) мы пробовали победить высокую сетевую задержку с помощью настройки MTU. В этой рассмотрим и узнаем, какие настройки сетевой платы пригодятся любителям игр.

Jumbo Frame

Jumbo Frame - Jumbo Packet - Большой кадр:
Использование этого параметра, наверно только гипотетически поможет снизить пинг в играх и наверно какая то выгода будет во время долгих массовых сражений и осад, когда в одну секунду генерируется очень приличное количество трафика. Дело в том, что использование больших кадров должно быть настроено у всех участников взаимодействия, как у клиента и сервера, так и транзитных узлов. Но за пределами вашего провайдера (да и у самого провайдера) mtu всегда примерно равен 1,5 кб плюс\минус десятки байтов. Если использовать его в локальных сетях (где можно точно проконтролировать эту настройку у всех), то там пинг зачастую и так достаточно низкий.
В чем плюс? Если использовать 9 кб у всех участников, вместо 1,5 кб, то для обсчета одного кадра потребуется в 6 раз реже задействовать процессор. Что должно лучше сказаться на прибавке фпс.
В чем минус? Если использовать его только на клиенте, при отсылке на остальных узлах пакет будет фрагментирован, в лучшем случаем на 6 частей, а при mtu <1500 может и на более. Которые в итоге будут переданы на каждый последующий узел, и где он должен попасть на сервер без потерь и корректно собран в один целый. В век высоких технологий, сбор и разбиение проходят быстро, но тем не менее, не всегда возможно предсказать насколько будет загружено оборудование обрабатывающее эти фрагменты. И эта фрагментация и загрузка транзитных узлов и может привести к росту пинга.
Значение: Выкл.

Checksum Offload - IPv4 Checksum Offload - Контрольная сумма разгрузки IPv4:
Если ваш адаптер имеет такую функцию, то включите ее. Это позволит освободить центральный процессор от расчета и проверки контрольных сумм для отправляемых и принимаемых пакетов. Что должно положительно сказаться на фпс в игре. Но бывают и обратные случаи, когда отключение это функции позволяет улучшить пинг и снизить лаги. Так что, попробуйте поиграться с этим параметром, при наличии лагом и скачущего пинга.
Значение: Вкл для Tx и Rx

Speed & Duplex - Link Speed/Duplex Mode - Скорость и дуплекс
Тут нужно проверить, что у вас стоит 10\100\1 Гб дуплекс. При использовании режима полудуплекс, пинг становится выше.
Можете в этом убедиться, переключив режимы и пингануть любой сервер.
Значение: Дуплексный режим

Flow Control - Управление потоком
Данная настройка призвана решать проблему, когда входящий трафик приходит с такой скоростью, что создает угрозу переполнения буфера на сетевом оборудовании и тогда источнику отправляется команда, чтобы он выждал паузу и снова повторил отправку данных, через какой-то промежуток времени. Если же такой команды не послать, то из-за перегрузки часть данных просто потеряется, т.е. в игре это гарантированный лаг. Вроде бы хорошая и правильная и нужная функция, но только для тех кто скачивает большие объемы. В играх как правило трафик приходит не в таком интенсивном режиме. Если же кадр паузы будет послан, то одномоментно увеличится пинг. Т.е. если у вас в играх частые лаги и высокая сетевая задержка, попробуйте поиграться с этим параметром.
Значение: Выключить

Transmit Buffers - Буферы передачи / Receive Buffers - Буферы приема
Зачастую буфер приема имеет в настройках больший размер, так как трафика мы скачиваем больше, чем отдаем. Здесь главное придерживаться правила, что буфер приема минимум должен быть равен 100*mtu. Если mtu=1500 байт, то размер буфера должен быть не меньше 147 кб. Если будет меньше, то в массовых событиях в игре, с генерацией большого количества трафика, возможна потеря пакетов. Прямого влияние на пинг, данные настройки не оказывают. Скорее это касается лагов. Так что убедитесь, что данные параметры выставлены по умолчанию и не имеют слишком малого размера.
Для буфера передачи вполне подойдет заводское значение. Вряд ли на клиенте в игре можно на генерировать столько трафика, чтобы пакеты при этом не поместились в буфер.

TCP/UDP Checksum Offload IPv4/IPv6 - Контрольная сумма разгрузки TCP/UDP IPv4/IPv6
Чтобы узнать, дошел ли пакет до адресата целый и без ошибок, для проверки на другой стороне в него добавляют контрольную сумму, которая рассчитывается на основании данных пакета. Если у вас имеется данная функция в настройке, попробуйте ее включить для обоих типов трафика. Таким образом все вычисления будет проводить не процессор, а сетевой адаптер, что в итоге должно положительно сказаться на фпс в игре.
Значение: Rx & Tx Включить

Receive Side Scaling

Interrupt Moderation - Модерация прерывания
При получении одного пакета, сетевой адаптер вызывает прерывание. Когда идет интенсивный обмен трафиком такие прерывания создают нагрузку на процессор. И чтобы снизить ее, придумали накапливать события в течении какого-то времени и после этого вызывать прерывание (IRQ). Таким образом реже задействуя процессор. У такого способа есть свои плюсы, описанный ранее и так же можно сказать, что вся прелесть этой функции раскрывается для тех, кто много качает.
Из минусов, чтобы пакет был обработан, он ожидает, пока отработает таймер. Это то и добавляет пинга в игре.
Значение: Выключить
Receive Side Scaling - RSS - Получение бокового масштабирования
Это интересный и нужный механизм для обладателей многоядерных процессоров. При включении его, пакеты делятся по потокам и каждый поток может обрабатывать отдельный процессор. Т.е. задействуются все ядра, что должно положительно сказаться на производительности в целом и на пинге в частности. Если эта функция выключена, весь трафик обрабатывается одним ядром.
Но все эти преимущества будут, если драйвер написан без ошибок. Иначе, бывают случаи, когда после включения начинаются проблемы и деградация производительности. Если вы впервые включаете его, внимательно понаблюдайте за сетью какое-то время.
Значение: Включить

Large Send Offload IPv4/IPv6 - Giant Send Offload - Разгрузка при большой отправке IPv4/IPv6
Фрагментацией пакетов данных при отправке будет заниматься сетевой адаптер, а не программное обеспечение. В идеале аппаратное фрагментирование проходит быстрее, меньше задействуется процессор, что в итоге для любителей игр должно положительно сказаться на пинге и фпс.
Есть еще настройка Large Send Offload v2, она выполняет ту же функцию, только для пакетов покрупнее. Иногда ее включение плохо влияет на производительность сети.
Значение: Включить

И в заключении коротко про пинг и представленные настройки

Некоторые параметры у разных производителей называются по-разному. Если вы у себя их не нашли, значит производитель не предусмотрел их настройку.
Вы должны понимать, что рекомендуемые здесь значения ориентированы на снижение пинга. Поэтому для любителей торрентов, данные параметры могут негативно сказаться на производительности и вызвать повышенную нагрузку на систему.
Все манипуляции с настройками сетевого адаптера обязательно проводите поэтапно. Не стоит все увиденое применять на практике сразу и одномоментно. На разных сетевых платах, эти настройки могут показать разное поведение.
Так же конечный результат зависит и от прямоты рук программистов, которые писали драйвера.
Надеюсь эта статья открыла что то новое для вас и помогла, хоть чуть-чуть, снизить высокий пинг в любимой игре.
Продолжение тут: третья и четвертая части

Кабели

Даже если у вас очень быстрый игровой компьютер с видеокартой вроде RTX 3080 и другими мощными компонентами, это не гарантирует быстрого доступа в интернет. Без такого доступа ваши возможности добиваться успеха в сетевых играх будут ограниченными.

Соперники с более слабыми компьютерами, но с более быстрым доступом в интернет, покажут более быструю реакцию и будут побеждать вас. Это же относится к игровым консолям. Если у вашего противника такая же модель, но лучше доступ в интернет, у него будет преимущество.

Самым очевидным советом является подключение к лучшему доступному вам провайдеру интернета. Однако, мы предположим, что вы уже подключились к лучшему провайдеру и тарифу, который можете себе позволить. После этого есть ещё несколько вещей, которые можно использовать для улучшения вашего подключения.

Пинг и пропускная способность: насколько быстр ваш интернет?

Прежде чем что-то менять, нужно оценить то, что есть. Для интернета это означает, на какой пинг вы можете рассчитывать в играх. Пинг представляет собой простое измерение, которое показывает скорость отправки данных на определённый IP-адрес и скорость получения ответа с этого адреса.

Этот показатель прямо влияет на игры в интернете. Пинг может считаться задержкой. Например, если пинг равен 350 мс, вы видите события в игре через 350 мс после того, как они произошли. Чтобы с комфортом играть в сетевые игры, нужен минимальный пинг. Многое зависит от конкретной игры.

В некоторые игры невозможно играть с пингом больше 200 мс, а в некоторые даже больше чем 50 мс. Если говорить об игровом процессе, каждые лишние 50 мс заметны и ухудшают удовольствие от игры. Кроме того, пинг не является неизменным.

Проверять пинг нужно между определёнными местоположениями. Вы измеряете пинг до каждого конкретного сервера. Для подробного тестирования можно использовать GameServerPing. Быстрый пинг означает более отзывчивое подключение, что особенно важно для видеоигр.

Результат теста в GameServerPing

Как показано на изображении, в данном случае подключение к интернету имеет низкую задержку для европейских серверов и можно даже попробовать сыграть на американских серверах. Пинг с японскими и австралийскими серверами слишком высокий.

Именно по этой причине популярные онлайн-игры обладают множеством игровых серверов по всему миру, чтобы вы могли подключиться к ближайшему и получить максимальную скорость.

Первый на 360Гц: Обзор монитора Asus ROG Swift 360Hz PG259QN

Существующие и рекомендуемые диапазоны пинга:

  • Меньше 20 мс. Отличное значение. Оптимальное для игр. Во время игр не будет никаких подтормаживаний. Если что-то работает медленно, то виновато не подключение к интернету.
  • 20-50 мс. Хорошее значение. Встречается довольно часто. Скорость достаточно хорошая, хотя требовательные игроки предпочтут не больше 20 мс.
  • 50-100 мс. Удовлетворительное значение. Его можно рассматривать как среднее. Могут быть подтормаживания, в некоторых играх противники будут иметь преимущество над вами.
  • 100-300 мс. Плохое значение. Играть всё равно можно, но будут подтормаживания. Это может раздражать и приводить к поражениям.
  • Больше 300 мс. Неиграбельно. Такое подключение не подходит для онлайн-игр.

Кроме пинга, важным параметром является скорость подключения к интернету. Играм не требуется очень быстрое подключение, но нужна входящая скорость как минимум 30 Мбит/с. Имейте в виду, что одновременно с вами в интернет могут выходить родственники и они также занимают полосу пропускания. В таком случае нужно выбирать скорость подключения с запасом. Например, 100 Мбит/с или даже больше.

SpeedTest позволяет автоматически подключиться к ближайшему серверу и вы узнаете минимальный пинг. Что делать, если вы играете с кем-то с другого континента? В таком случае пинг будет значительно выше. Пинг из Польши до некоторых стран показан в таблице ниже.

Порты Ethernet

Можно настроить используемые по умолчанию серверы DNS на уровне маршрутизатора. Это означает, что к нему будут подключаться все устройства вашей сети Wi-Fi. Хотя каждый производитель маршрутизаторов использует разный пользовательский интерфейс для настройки серверов DNS, найти их нетрудно. Там вы должны ввести указанные выше адреса.

Если ничего не помогло, пора обновляться

В наши дни в каждой семье полно смартфонов, планшетов, умных телевизоров, компьютеров, умных часов и тому подобных компьютерных устройств. Все они просят доступ в интернет. Необходимость в качественном маршрутизаторе сейчас высока как никогда. Если у вас маршрутизатор, который вам предоставил ваш провайдер, велика вероятность, что для игр он подходит не лучшим образом.

В продаже есть игровые маршрутизаторы, которые обладают встроенными функциями для оптимизации подключения. Не нужно покупать игровой маршрутизатор только потому, что так он назван на коробке. Это сложная категория устройства и они годятся не для всех. Как уже сказано выше, игры зависят больше от задержек, чем от пропускной способности сети.


Чтобы успешно играть и побеждать в сетевых играх, важно добиться максимальной отзывчивости управления и плавности картинки. Ощущения от игры полностью зависят от нескольких независящих друг от друга факторов. Сюда можно отнести производительность оборудования, задержки системы и ввода на стороне пользователя (т.е. время от нажатия на клавишу мыши до отображения выстрела на экране) и качество сетевого соединения. Чтобы добиться идеального отклика, нужно оптимизировать каждый из этих пунктов.


В рамках этого материала мы не будем подробно рассказывать о необходимости мощного железа — это и так понятно. Чем больше FPS выдает игра, тем лучше. Если у вас есть проблемы с производительностью, ознакомьтесь с нашими гайдами: «Как ускорить слабый или старый ПК для игр» и «Что делать, если тормозят игры». Если проблем с производительностью нет и, например, CS: GO выдает хороший FPS, можно идти дальше.

Как снизить системные задержки (инпут лаг)

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

Используйте проводные клавиатуру и мышь. По проводу подключение всегда будет быстрее и стабильнее. Впрочем, беспроводные геймерские модели тоже есть, но они стоят дороже проводных аналогов.


Выключите обработку картинки (шумоподавление, уплавнялка и т.п.) или переключите режим изображения на игровой. Если вы играете на телевизоре, то это особенно актуально. Но на мониторе тоже может быть переключатель режимов. Например, у MSI есть специальный игровой режим, который называется Zero Latency. Чтобы понять, если такой режим на вашей модели монитора, обратитесь к инструкции или на официальный сайт производителя.

Выставьте максимально возможную частоту обновления дисплея. Некоторые дисплеи могут не поддерживает частоту более 60 Гц при максимальном разрешении, в таком случае стоит опуститься до 1080p. Например, именно так работают консоли PlayStation 5 и Xbox Series X с телевизорами, у которых есть только вход HDMI 2.0. В совместимых играх таким образом можно выставить режим 120 Гц. Кроме того, некоторые мониторы могут работать при повышенной частоте, даже если она официально не поддерживается. К примеру, монитор BenQ GW 2470 может работать при 75 Гц, если выставить кастомный режим изображения в драйверах видеокарты.

Что делать, если лагают сетевые игры. Как снизить инпут лаг и задержки сети

Отключите вертикальную синхронизацию в настройках игры. Из-за этого картинка может быть менее приятной, так как будут возникать разрывы кадра — так называемый тиринг. Однако отзывчивость может увеличиться. Обратите внимание, что при наличии у вашего монитора и видеокарты функций VRR, G-Sync или FreeSync разрывов быть не должно.

Включите технологию NVIDIA Reflex. Чтобы снизить задержку на стороне пользователя, стоит включить технологию NVIDIA Reflex, которая поддерживается многими сетевыми играми. Она работает на всех видеокартах GeForce начиная с 900 серии. Кроме того, для нее не нужно специальное оборудование вроде монитора и мышки. Наибольший эффект технология дает на высоких настройках графики. Подробнее о работе технологии мы писали в отдельной статье «Как перестать сливать катки и начать тащить».

Включите режим низкой задержки. Также в панели управления NVIDIA можно включить режим низкой задержки. По своему эффекту он похож на NVIDIA Reflex, но работает только в DirectX 11. Про все настройки панели управления мы писали в гайде «Как настроить видеокарту NVIDIA для игр». У видеокарт AMD есть схожая функция — Radeon Anti-Lag, которую тоже можно включить в настройках дрйвера.

Что делать, если лагают сетевые игры. Как снизить инпут лаг и задержки сети

Как снизить сетевые задержки

Другой вид задержек — сетевые. Качество соединения в основном зависит от вашего провайдера. В первую очередь здесь важен такой показатель, как пинг.

Важно! Высокий пинг и нестабильное соединение — разные вещи. Если часть пакетов теряется, то это ощутимо влияет на геймплей. К примеру, вас отбрасывает назад или игровой мир замирает на некоторое время. При плохом пинге, как правило, таких проблем нет, но есть ощутимая задержка в действиях. Грубо говоря, вас будут убивать раньше, чем вы сможете среагировать.

Как проверить пинг

Что делать, если лагают сетевые игры. Как снизить инпут лаг и задержки сети

Как настроить сетевой адаптер для снижения пинга

Если у вас проблемы с пингом, то стоит настроить сетевой адаптер. Перейдите в диспетчер устройств и найдите свой сетевой адаптер. Как правило, это Realtek, Intel, Qualcomm, Killer или другой. Также в списке может быть беспроводной Wi-Fi адаптер.

Что делать, если лагают сетевые игры. Как снизить инпут лаг и задержки сети

Зайдите в свойства адаптера и перейдите на вкладку «Управление электропитанием». Снимите галочку с «Разрешить отключение устройства для экономии энергии». Далее перейдите в дополнительно и отключите следующие пункты:

  • Advanced EEE;
  • Gigabit Lite;
  • Power Saving Mode;
  • Wake on magic packet (нужна для удаленного доступа);
  • Автоотключение гигабитной скорости;
  • Большой кадр;
  • Зеленый Ethernet;
  • Управление потоком (также можно отключить все пункты контрольная сумма разгрузки);
  • Модерация прерывания;
  • Энергосберегающий Ethernet.

Буферы передачи и приема нужно поставить на максимальное значение — 128 и 512 соответственно. Максимальное число очередей RSS должно быть выставлено на доступный максимум. Выгрузка протокола ARP и NS должны быть включены.

От адаптера Wi-Fi тоже зависит качество соединения. Лучше выбирать модели с внешними антеннами

От адаптера Wi-Fi тоже зависит качество соединения. Лучше выбирать модели с внешними антеннами От адаптера Wi-Fi тоже зависит качество соединения. Лучше выбирать модели с внешними антеннами

Можно настроить и Wi-Fi адаптер, если вы им пользуетесь для игр. Сначала нужно также выключить «Разрешить отключение устройства для экономии энергии» и далее перейти на вкладку «Дополнительно». Здесь нужно также отключить настройки, связанные с энергосбережением. Для «Режима энергосбережения MIMO» выберите «Нет SMPS». Отключите также:

  • Пробуждение при соответствии шаблона;
  • Wake on magic packet или пробуждение пакетом Magic Packet;
  • Объединение пакетов;
  • Увеличение пропускной способности.

Программы для снижения пинга

Что делать, если лагают сетевые игры. Как снизить инпут лаг и задержки сети

В сети можно найти множество программ для снижения пинга. Суть их работы можно свести к выбору оптимального маршрута соединения, благодаря чему и снижается задержка. Одна из популярных программ — ExitLag. Она платная, но есть бесплатный трехдневный период для теста. Чудес от нее ждать не стоит и если у вас уже неплохой пинг, то программа вряд ли существенно его уменьшит. Однако попробовать все же стоит. В настройках программы вам нужно выбрать игру и регион сервера, для которого требуется оптимизация.

Общие советы

Если дело не в провайдере, то кое-что все же можно сделать для уменьшения задержек. Как правило, проблемы с соединением связаны с роутером.

Перейдите на диапазон 5 ГГц. Многие современные роутеры работают в двух диапазонах: 2,4 ГГц и 5 ГГц. Последний — более продвинутый. Он устойчив к помехам и лучше работает в многоквартирных домах, где в каждой квартире по роутеру. Если ваше оборудование поддерживает 5 ГГц, попробуйте переключиться на эту частоту. Обратите внимание, что приемник сигнала тоже должен поддерживать этот стандарт.

Смените канал Wi-Fi. При помощи бесплатной утилиты WifiInfoView можно проверить, насколько загружены разные каналы Wi-Fi в вашем доме. В настройках роутера стоит выбрать наименее загруженный канал.

Что делать, если лагают сетевые игры. Как снизить инпут лаг и задержки сети

Обновите прошивку роутера. Стоит также обновить прошивку роутера. Если вы купили новое устройство, то это стоит сделать первым делом. Зайдите на официальный сайт производителя и найдите свежую прошивку для своей модели роутера. Обратите внимание, что нужно точно выяснять модель устройства, включая ревизии. Возможно, наилучшим вариантом будет установить стороннюю прошивку. Если у вашей модели роутера мощное комьюнити, стоит поискать информацию на профильных форумах.

Измените DNS-сервер. Также можно попробовать поменять стандартный DNS-сервер от провайдера на альтернативный от Google. Предпочитаемый сервер — 8.8.8.8, альтернативный — 8.8.4.4.

Что делать, если лагают сетевые игры. Как снизить инпут лаг и задержки сети

Перезагрузите роутер. Если возникают какие-либо неполадки с роутером, стоит его перезагрузить. Возможно, после этого проблема уйдет сама собой.

Подключитесь к роутеру по проводу. Если размещение роутера и вашего ПК позволяет подключиться по проводу, то именно так и стоит сделать. Проводное соединение — самое стабильное.

Лаги в играх бывают по многим причинам, но две основные, как правило: недостаточно мощный компьютер и проблемы с сетью в случае онлайн-игр.

Что мешает нормально поиграть, почему фризит\лагает и как улучшить ситуацию? Универсальные советы как для игроков через облачную платформу, так и в принципе для любителей онлайн-игр на ПК — в ликбезе от Алексея Лыкова.

Алексей Лыков, технический директор Playkey: Немного матчасти. Любой трафик состоит из пакетов, пересылаемых по сети. И в зависимости от качества сети некоторые пакеты могут теряться.

В пакете идет определенный сигнал. Когда пакет теряется, то два узла, взаимодействующих между собой (например, два сетевых коммутатора: на стороне игрока и на стороне сервера онлайн-игры), должны решить проблему с потерей информации. Образно их «общение» выглядит так:


Чем больше потерь, тем больше таких запросов от получателя до отправителя.

И что в итоге? Допустим, кадр состоит из нескольких пакетов. Приходят на компьютер 10 из 10 пакетов, кадр собирается и отображается. Пользователю клёво. Но если из 10 пакетов пришло 9, то картинка собраться не может.

Или, возможно, она соберется с какими-то артефактами. Мы называем это «рассыпанием» картинки. Вот как это выглядит в одном из худших случаев:


Что же происходит в сети?

Допустим, получатель отправляет запрос: «Дай мне этот 10-й кадр!», отправитель досылает его. Разумеется, на это нужно время. И вот в те драгоценные миллисекунды, которые на это тратятся, возникает лаг.

Если вы играете в онлайн-игру с 30 FPS (frames per second или кадров в секунду) при пинге в 10 мс, то пересылка пакета займет примерно 10 миллисекунд (пинг до сервера) + 30 миллисекунд (межкадровый интервал) Итого получаем 40мс. При 60 FPS это еще менее заметно, потому что межкадровый интервал уже равняется 15 миллисекундам, итого: 25мс (10 мс + 15мс). Но чем больше таких задержек, тем «неприятнее» картинка, чувствуются какие-то рывки, фризы.

То же самое с управлением. В World of Tanks, когда вы нажимаете кнопку «вперед», танк должен ехать.

Но как можно понять, что он действительно это делает? Танк считается «поехавшим» вперед, когда он на сервере получил эту команду. Вся калькуляция взаимодействия игроков происходит там (иначе всё заполонили бы читеры).

Чтобы пользователь не ощущал лаги при синхронизации действий с сервером каждую секунду, в клиентских мультиплеерных играх используют пререндеринг: при нажатии команды «вперед» танк сразу ее выполняет. Но, по сути, это еще не актуальное будущее для остальных пользователей. Если вы играли в World of Tanks, то могли видеть, как танки в воздух улетают или в скалу врезаются. Эта проблема возникает, когда происходит лаг в сети — сигнал уходит на сервер, а подтверждения того, что танк реально уехал, не пришло.

Здесь танки как раз летают в самом начале ролика

На каком этапе происходит основная часть потери пакетов?

А.Л.: Проблемы бывают разные:

1. Провайдер режет трафик по тарифу;

2. Стандартный роутер провайдера оставляет желать лучшего. Например, дешевые Wi-Fi точки — «вафля» в народе — могут давать

2 Мбит/сек скорости при тарифе 100 Мб/cек и в целом обеспечивать некачественный сигнал;

3. Сервера, к которым обращается ваш компьютер, находятся географически далеко. Игроки из Сибири мечтают, чтобы онлайн-игры реагировали на их действия так же шустро, как у москвичей. Хотя есть у нас кадры, которые и с Владивостока играют и нарадоваться не могут;

Большая часть потери происходит у клиента дома и, в первую очередь, из-за точки доступа Wi-Fi

С кабелем практически не бывает потерь: по сравнению с Wi-Fi это 1 к 1000.

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

Как влияет на Wi-Fi микроволновка

Еще одна беда домашнего Wi-Fi — проблема нескольких точек доступа в многоквартирных домах или офисах. Они также «перебивают» друг друга. В этой ситуации надо у каждой точки снизить мощность сигнала, и тогда скорость у всех возрастет. Правда, обычно все идут обратным путем, выставляют мощность на максимум, и в итоге Wi-Fi плохо работает сразу у всех в доме.

А если в квартире есть другие устройства, подключенные к интернету? Имеются в виду смартфоны, другие ноутбуки, пуфик для кота со встроенным Wi-Fi. Они влияют?

А.Л.: Тут важно не количество устройств, а в целом трафик, который они потребляют. Если другие устройства работают в фоновом режиме, ничего страшного. Обычный интернет-серфинг на других компьютерах тоже мало влияет.

А вот если кто-то из ваших домашних качает торренты, а второй смотрит видео в хорошем качестве на YouTube, то может достигаться лимит по каналу, и онлайн-игре остается небольшой кусок пирога.

Для лучшего распределения трафика по устройствам мы советуем роутеры, которые поддерживают диапазон частот 5 ГГц. Стандарт 2,4 ГГц поддерживает меньше каналов — 13, и на каждом из каналов могут работать несколько устройств, тогда они начинают друг с другом конкурировать. Те, кому интересно узнать все детали, могут почитать всё в подробностях в публикациях на Хабре.

В этом плане, когда у нас есть какая-то общественная точка, 2,4 ГГц там могут очень плохо работать. Поэтому для тех, кто играет онлайн и использует Playkey, рекомендуются каналы с 5 ГГц. «Герцовка» Wi-Fi дает большое преимущество для беспроводной связи.

Как узнать потери у себя?

А.Л.: Можно быстро провести диагностику с помощью бесплатной утилиты MTR

Вообще потерь не должно быть, но это скорее исключение, чем правило. 5% потерь на каком-нибудь из узлов — не критично.

Если по кабелю все хорошо, подключите роутер. Может быть, например, такая картинка:


100% потерь на одном из узлов

Желательно иметь под рукой пару роутеров для проверки: если на одном пакеты теряются, а на втором — нет, то будет понятно, что проблема на стороне конкретного роутера. Возможно, нужно обновить его прошивку.

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

Так, ок, что еще можно сделать, чтобы улучшить качество сигнала?

А.Л.: 1. Настроить у роутера приоритезацию

Если, допустим, вы постоянно играете в Witcher 3 или еще во что-то, вы можете просто зайти в настройки роутера и выставить игре максимальный приоритет. Это должно помочь, чтобы игра не «лагала», если у вас в квартире еще кто-то юзает интернет.

2. Попробовать перезагрузить роутер

Роутеры, особенно дешевые, могут копить у себя различные ошибки, создавать потери и задержки. Поэтому перезагрузка роутера сбрасывает какую-то внутреннюю часть: память, подключения. То есть все с чистого листа начинается. И это может помочь. Для дешевых роутеров, у которых плохо написан программный код, существуют разные прошивки, даже не родные, которые могут решать эту проблему.

3. Сказать антивирусу, что клиент онлайн-игры (или клиент Playkey) — это хорошие программы

Антивирусы, которые проверяют интернет, сканируют весь трафик, приходящий на компьютер. Для этого и компьютеру, и антивирусу нужно какое-то время.

Из-за этого могут быть ощутимые задержки. Иногда даже полусекундные, в зависимости от антивируса. Поэтому нужно выставить в настройках защитного ПО «благонадежный» статус конкретной программе.

Может, вам со своей стороны сделать что-то, а не уповать на техническую подкованность каждого игрока

А.Л.: Мы делаем, конечно. Во-первых, у нас есть схема отправки пакетов как по TCP-протоколу, так и по UDP.

  • TCP надежнее. В нем ничего не может потеряться: там постоянно «досылаются» пакеты, но если происходит какая-то ошибка, лаг может быть чрезвычайно большим. Он уже измеряется не миллисекундами, а секундами. Сейчас мы используем TCP как запасной вариант, потому что он медленный.
  • UDP быстрее, но по нему невозможно «дослать» пакет. Для этого у нас есть механизмы восстановления пакетов: дополнительно к информационным пакетам отправляются пакеты со служебными данными, по которым можно частично или полностью восстановить потерянные компоненты изображения. Такой принцип называется механизмом избыточности.

И тут возникает ситуация: когда пакет теряется из-за того, что у клиента есть ограничения по каналу — например, провайдер дает 10 мегабит скорости. Нам приходится пересылать еще больше трафика через «бутылочное горлышко». Поэтому мы разработали алгоритм, который мягко поднимает и опускает битрейт, отслеживая диагностику сети у пользователя.

Если вы хотите прямо сейчас проверить свое подключение к интернету и посмотреть, как с ним справится Playkey — используйте промокод GeeksOnline на бесплатные 300 минут игры (работает 24 часа с момента активации и только для новых пользователей). Юзайте здесь на здоровье.

А если играть через 3G и 4G?

А.Л.: С ними все сложнее — при использовании 3G/4G сетей используются еще более мощные алгоритмы восстановления пакетов, то есть, избыточность очень большая (не наша, а на уровне протокола). Изначально подразумевалось, что пакетов теряется немерянное количество.

Любой радиосигнал работает так же. Алгоритмы избыточности пришли из радиофизики. Когда мы, например, въезжаем в тоннель, сигнал становится все хуже. Но если какой-то процент пакета радиосигнала пропал, мы все равно достаточно долго можем слышать голос ведущего.

Сказать, что 3G/4G сети совсем нельзя использовать для онлайн-игр — конечно, нельзя. Но тут еще предстоит очень и очень много работы. В целом перспективнее сразу смотреть в сторону 5G-сетей. Если они справятся с обещаниями скорости в 25 Гбит/с, да еще и смогут снизить задержки при передачи данных в 50 раз, то это откроет для Playkey, как и для всего онлайн-гейминга, все двери разом.

Читайте также: