Что такое пинг и джиттер

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

Считаете, что Ваш провайдер Вас обманывает?! Скорость доступа в Интернет ниже заявленной по тарифу?! Давайте проверим! Я покажу как выполнить тест скорости и проверить Интернет соединение в онлайн режиме самостоятельно и совершенно бесплатно! Всё делается очень быстро и просто, буквально одним нажатием кнопки мыши.

Что такое Ping, Jitter, Upload и Download Speed?

В начале я дам немного самых базовых знаний специально для тех, кто совсем в этом ничего не понимает. Любой современный тест скорости Интернета выполняет сначала скачивание тестовых файлов с сервера, а затем — загрузку их на сервер. За счёт этого получается выявить реальную скорость доступ в глобальную сеть через вашего провайдера. В результатах измерения Вы может увидеть следующее:

Входящая скорость или Download – скорость получения данных из Интернета. Измеряется в Мегабитах в секунду (Mbps).
Исходящая скорость или Upload – скорость отдачи данных в Интернет. Измеряется в Мегабитах в секунду (Mbps).
IP-адрес – Ваш цифровой адрес в Интернете. Назначается Вам провайдером при соединении с его оборудованием.
Пинг (PING) – Индикатор скорости прохождения тестового пакета информации до сервера и обратно. Измеряется в секундах. Чем его значение меньше — тем лучше!
Jitter — колебания пинга. Важно для потоковых данных (Youtube и Видео-звонки) Здесь тоже самое: чем меньше — тем лучше качество канала!

Проверка скорости Интернета Онлайн

По статистике, более 30% пользователей даже не догадываются, что их реальная скорость Интернета не соответствует той, которую обещал провайдер по тарифному плану.Как это проверить? Для этого есть специальные онлайн тесты скорости Интернет-соединения. Это специальные инструменты, предназначенные в первую очередь для обычных пользователей, так как грамотный системный администратор может выполнить тест самостоятельно.

Тест Speedtest

Начну с самого популярного в сети теста — speedtest.net. Проверка скорости Интернета с помощью этого онлайн-инструмента даёт наиболее точный результат, так как крупные провайдеры стараются размещать на своих серверах точки измерения. Пользоваться им очень просто.

Заходим на сайт Спидтеста и видим вот такую страничку. По умолчанию выбирается наиболее близкий и оптимальный сервер тестирования. Нажимаем на кнопку Начать (GO).

Запустится онлайн-тест скорости соединения. При этом сразу отобразится пинг и дальше будет проведено измерение скорости Интернета — сначала скачивание, затем — загрузка.

По завершению тестирования получаем результаты измерения скорости и пинга:

Можно провести ещё ряд проверок, каждый раз меняя сервер. Так мы получим наиболее верную картину.

Тест 2ip.ru

Второй сайт, который я использую давно и очень уважаю. Пользоваться им так же легко, как и спидтестом. Заходим на сайт 2ip.ru Находим и нажимаем кнопку «Скорость Интернет-соединения». Попадаем вот на такую страницу:

Нажимаем кнопку Тестировать чтобы запустить проверку скорости Интернета. Появятся измерительные шкалы:

Через пару минут получаем результат замера:

Тест nperf.com

Третий сайт для измерения скорости Интернета, которому стоит доверять. Кликните на ссылку nperf.com чтобы попасть вот на эту страницу:

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

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

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

Внимание! Если при проверке скорости Интернета есть отклонение от Вашей скорости по тарифу на 5-10%, то это нормально. На это может влиять погрешность измерения и разные посторонние факторы. А вот если отклонения превышают 10 процентов, то тут уже стоит сделать звонок в техподдержку провайдера.

Что влияет на скорость соединения?

Самое основное, от чего зависит скорость доступа в Интернет — это тип подключения, которое вы используете. Сейчас активно используются четыре типа подключения:

Второй момент, о котором стоит рассказать — это скорость доступа в Интернет по WiFi чаще всего ниже, чем по LAN-кабелю. Особенно на старых моделях WiFi-роутеров. В диапазоне 2,4 ГГц при использовании стандарта 802.11n больше 70 мбит/сек мне ни разу разогнаться не удалось. Более высокой скорости удавалось добиться только на двухдиапазонных роутерах при использовании диапазона 5 ГГц и стандарта 802.11ac.

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

Источник

Что такое джиттер?

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

Простой 4 комментария

Если джиттер это:
В телекоммуникациях под джиттером часто понимается разброс минимального и максимального времени прохождения пакета IP от среднего времени прохождения пакета[5]. Например, посылается 100 пакетов IP. Минимальное время прохождения пакета IP — 395 мс, среднее — 400 мс, максимальное — 405 мс. В этом случае (405-400=5; 400-395=5) джиттер можно считать маленьким. Если же посылается 100 пакетов IP, и минимальное время прохождения пакета — 1 мс, среднее — 50 мс, максимальное — 100 мс, (100-50=50; 50-1=49) джиттер большой.

И если пинг по Wi-Fi практически идентичен пингу проводного подключения (±1 мс), то можно ли говорить о влиянии джиттера на качество связи(гейминга) в FPS шутере?

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

К Wi-Fi подключено 1 устройство — ПК.
Расстояние между роутером и компьютером минимальное (скажем, 1 метр);
Устройства в одной комнате и между ними нет препятствий (стена, перегородка, какой-нибудь предмет);
Нет помех, Wi-Fi канал не перекрывается, роутер работает на 5Ггц.
Разность пингов проводного и Wi-Fi не более 1-2 мс, потери пакетов отсутствуют.
Что ещё?

Что такое пинг и джиттер. Смотреть фото Что такое пинг и джиттер. Смотреть картинку Что такое пинг и джиттер. Картинка про Что такое пинг и джиттер. Фото Что такое пинг и джиттер

Tomaszz, примите поздравления, у вас идеальный wi-fi.
Для полного счастья можно еще ширину канала измерить, может там тоже все красиво.

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

Что такое пинг и джиттер. Смотреть фото Что такое пинг и джиттер. Смотреть картинку Что такое пинг и джиттер. Картинка про Что такое пинг и джиттер. Фото Что такое пинг и джиттер

Но вообще на 5Ггц на коротких дистанциях не должно быть проблем. Он для этого и создавался как раз.

Что такое пинг и джиттер. Смотреть фото Что такое пинг и джиттер. Смотреть картинку Что такое пинг и джиттер. Картинка про Что такое пинг и джиттер. Фото Что такое пинг и джиттер

Что такое пинг и джиттер. Смотреть фото Что такое пинг и джиттер. Смотреть картинку Что такое пинг и джиттер. Картинка про Что такое пинг и джиттер. Фото Что такое пинг и джиттер

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

Источник

Лаги, джиттер и потеря пакетов: откуда берутся проблемы с неткодом и как их решать

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

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

Что такое пинг и джиттер. Смотреть фото Что такое пинг и джиттер. Смотреть картинку Что такое пинг и джиттер. Картинка про Что такое пинг и джиттер. Фото Что такое пинг и джиттер

Итак, почему вообще возникают лаги? Почему в 2021 году это все еще является проблемой — с мощностью современных компьютеров, повсеместным использованием широкополосного Интернета и спустя десятилетия попыток разработчиков решить эту проблему?

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

Что такое пинг и джиттер. Смотреть фото Что такое пинг и джиттер. Смотреть картинку Что такое пинг и джиттер. Картинка про Что такое пинг и джиттер. Фото Что такое пинг и джиттер

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

Что такое пинг и джиттер. Смотреть фото Что такое пинг и джиттер. Смотреть картинку Что такое пинг и джиттер. Картинка про Что такое пинг и джиттер. Фото Что такое пинг и джиттер

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

С двумя-то игроками это реализовать достаточно сложно, а теперь представьте, каково организовать подобное для игры с 10, 20 или даже сотнями игроков на одном сервере. При разработке игры жанра battle royale со всеми ее особенностями реализация хорошего мультиплеера является одной из самых сложных частей разработки даже для опытной команды, поэтому неудивительно, что временами в игре могут возникать сетевые проблемы. Конечно, это не делает такие сбои менее раздражающими, и чем быстрее скорость и выше конкуренция в игре, тем больше такой опыт может помешать вам получить от нее удовольствие.

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

Так что же вызывает все эти проблемы?

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

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

Часто задержку путают с лагами, и хотя они не означают одно и то же, но имеют причинно-следственную связь. Лаг — это задержка прибытия пакета от источника к месту назначения или, с точки зрения геймплея, задержка между нажатием кнопки и ответом игры, выведенным на экран. То есть, по сути совокупность вообще всех явлений, которые происходят между этими двумя событиями.

Что такое пинг и джиттер. Смотреть фото Что такое пинг и джиттер. Смотреть картинку Что такое пинг и джиттер. Картинка про Что такое пинг и джиттер. Фото Что такое пинг и джиттер

Джиттер — это колебания задержки, означающие, что пакеты отправляются и принимаются с разной скоростью. Это похоже на плохой frame pacing: то ваш пинг меняется с 20 миллисекунд до секунды, то с секунды до 90 миллисекунд, а затем возвращается к 30 миллисекундам, которые были когда-то уже давно.

Что такое пинг и джиттер. Смотреть фото Что такое пинг и джиттер. Смотреть картинку Что такое пинг и джиттер. Картинка про Что такое пинг и джиттер. Фото Что такое пинг и джиттер

Потеря пакетов — это когда пакеты вообще не достигают места назначения. Она вызывает необходимость повторной отправки одних и тех же данных и и потенциально — странное поведение игры.

Что такое пинг и джиттер. Смотреть фото Что такое пинг и джиттер. Смотреть картинку Что такое пинг и джиттер. Картинка про Что такое пинг и джиттер. Фото Что такое пинг и джиттер

Конечно, наличие даже одной из этих проблем может довольно сильно раздражать. С точки зрения игрока, если вы не чувствуете, что контролируете игру, если ваша производительность страдает от проблем с сетью, велика вероятность, что вы просто закроете игру и больше в нее не зайдете. Для разработчиков и издателей это будет означать, что аудитория станет меньше, а если у вас free-to-play тайтл, это поставит под угрозу само его существование. Особенно важно это для соревновательных игр, поскольку любые повторяющиеся проблемы могут заставить игроков и организаторов турниров отказаться от их проведения до тех пор, пока проблемы не разрешатся.

Так почему же возникают подобные сбои?

Существуют три основных типа проблем с соединением:

проблемы «первой мили», вызванные домашней сетью вашего ПК и подключением к Интернету;

проблемы «средней мили», обусловленные перемещением данных по маршруту между вашим интернет-провайдером и игровым сервером;

проблемы «последней мили», связанные непосредственно с игровым сервером.

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

Что такое пинг и джиттер. Смотреть фото Что такое пинг и джиттер. Смотреть картинку Что такое пинг и джиттер. Картинка про Что такое пинг и джиттер. Фото Что такое пинг и джиттер

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

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

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

Наконец, полезно будет убедиться, что драйвера обновлены, вы отключили все приложения, которые используют значительный объем ЦП или пропускной способности сети в фоновом режиме, а также что сетевые настройки игры установлены правильно.

Что такое пинг и джиттер. Смотреть фото Что такое пинг и джиттер. Смотреть картинку Что такое пинг и джиттер. Картинка про Что такое пинг и джиттер. Фото Что такое пинг и джиттер

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

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

Что такое пинг и джиттер. Смотреть фото Что такое пинг и джиттер. Смотреть картинку Что такое пинг и джиттер. Картинка про Что такое пинг и джиттер. Фото Что такое пинг и джиттер

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

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

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

Что такое пинг и джиттер. Смотреть фото Что такое пинг и джиттер. Смотреть картинку Что такое пинг и джиттер. Картинка про Что такое пинг и джиттер. Фото Что такое пинг и джиттер

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

Что такое пинг и джиттер. Смотреть фото Что такое пинг и джиттер. Смотреть картинку Что такое пинг и джиттер. Картинка про Что такое пинг и джиттер. Фото Что такое пинг и джиттер

Наконец, перейдем к последней миле в цепочке — игровым серверам.

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

Что такое пинг и джиттер. Смотреть фото Что такое пинг и джиттер. Смотреть картинку Что такое пинг и джиттер. Картинка про Что такое пинг и джиттер. Фото Что такое пинг и джиттер

Client hosting — это когда ПК одного из игроков сам по себе выступает в качестве сервера. Это хороший способ для разработчиков игр минимизировать затраты, но опыт каждого участника матча будет зависеть от качества соединения игрока-хоста. Таким образом, если такие игроки подключаются к сети через Wi-Fi или вовсе испытывают проблемы с подключением, другие игроки тоже столкнутся с лагами, джиттером и потерей пакетов.

Что такое пинг и джиттер. Смотреть фото Что такое пинг и джиттер. Смотреть картинку Что такое пинг и джиттер. Картинка про Что такое пинг и джиттер. Фото Что такое пинг и джиттер

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

Другой вариант — одноранговая (peer-to-peer) сеть, где игроки напрямую подключается друг к другу. Как правило, в таком случае тоже существует некий хост, который номинально отвечает за обработку новых соединений, поэтому проблема с миграцией хоста в данном случае сохраняется.

Что такое пинг и джиттер. Смотреть фото Что такое пинг и джиттер. Смотреть картинку Что такое пинг и джиттер. Картинка про Что такое пинг и джиттер. Фото Что такое пинг и джиттер

Что такое пинг и джиттер. Смотреть фото Что такое пинг и джиттер. Смотреть картинку Что такое пинг и джиттер. Картинка про Что такое пинг и джиттер. Фото Что такое пинг и джиттер

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

Что такое пинг и джиттер. Смотреть фото Что такое пинг и джиттер. Смотреть картинку Что такое пинг и джиттер. Картинка про Что такое пинг и джиттер. Фото Что такое пинг и джиттер

Некоторые игры работают с переменным весом тиков — например, королевские битвы, в которых скорость тиков повышается по мере выбывания игроков, или Counter-Strike, где сторонние и киберспортивные матчи проводятся со скоростью 128 тиков в секунду по сравнению со встроенным в игру матчмейкингом, работающим на 64 тиках.

Что такое пинг и джиттер. Смотреть фото Что такое пинг и джиттер. Смотреть картинку Что такое пинг и джиттер. Картинка про Что такое пинг и джиттер. Фото Что такое пинг и джиттер

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

Что такое пинг и джиттер. Смотреть фото Что такое пинг и джиттер. Смотреть картинку Что такое пинг и джиттер. Картинка про Что такое пинг и джиттер. Фото Что такое пинг и джиттер

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

Наконец, последнее — методы борьбы с лагами, которые разработчики могут реализовать со своей стороны в коде.

Так называемое предсказание на стороне клиента часто используют в шутерах от первого лица. Его можно разделить на предсказание ввода и расчет траектории (dead reckoning): первое будет скрывать задержку действий самого игрока, в то время как второй — других игроков.

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

Dead reckoning — это, по сути, алгоритм оценки положения объекта в виртуальном мире на основе его предыдущего положения, направления движения, скорости, ускорения и других параметров. Получив первый блок данных протокола состояния (protocol data unit, PDU) для объекта (например, персонажа другого игрока), каждый клиент начинает перемещение этого объекта, применяя согласованный алгоритм dead reckoning. Его движение обновляется при получении последующих PDU. Если для пакетов, несущих PDU, возникнет увеличенная задержка или вовсе их потеря, каждая копия виртуального мира продолжит показывать движение объектов в соответствии с алгоритмом до тех пор, пока не получит следующее обновление. Кроме того, при несоответствиях между статусом сервера и предсказанным клиентом некоторые игры могут сделать переход к новому статусу менее резким, используя алгоритмы сглаживания.

В дополнение к предсказанию клиента сервер может прибегать к методу компенсации сетевой задержки, чтобы правильно объединить виртуальные реальности, которые из-за проблем с неткодом испытывают рассинхронизацию. В таком случае сервер хранит историю последних позиций игроков (так, серверы, на которых работает движок Valve Source, сохраняют позиции игроков в течение 1 секунды), и когда ему нужно вычислить новое состояние, он сначала оценивает момент, когда действие было выполнено в клиентской версии состояния игрового мира. Другими словами, сервер «перематывает время» в соответствии с задержкой конкретного клиента, вычисляя выполнение введенной им команды (например, удалось ли выстрелу игрока поразить цель). Для этого используется следующая формула:

Время выполнения команды = Текущее время сервера — Задержка пакета — Интерполяция представления клиента

Что такое пинг и джиттер. Смотреть фото Что такое пинг и джиттер. Смотреть картинку Что такое пинг и джиттер. Картинка про Что такое пинг и джиттер. Фото Что такое пинг и джиттер

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

Впрочем, иногда такой алгоритм приводит к ошибкам попадания, когда цель уже скрылась за укрытием. Эту проблему можно было бы решить, если бы клиент мог послать сообщение «попадание» вместо сообщения «выстрел». Однако серверы не могут разрешить клиентам сообщать о попаданиях по соображениям безопасности: некоторые клиенты могут этим воспользоваться в собственных целях и прибегнуть к читерству.

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

Для получения дополнительной информации о лагах и о том, что вы можете с ними сделать, можно ознакомиться с каналом Battle(non)sense: там разбираются тесты сетевых проблем в разных играх и то, как разные технологии на них влияют. Прилагаем также и другие ссылки на видео и статьи о сетевом коде ниже:

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *