Объяснения графика сетевой производительности и уведомлений в «осеннем патче» Battlefield 4
В «осенний патч» Battlefield 4 войдут полностью обновленные график сетевой производительности и прочие уведомления о текущем положении дел. Battle(non)sense подробно объяснил, какую информацию мы сможем увидеть на мониторе, и как эта информация поможет устранить различные неполадки подключения к серверу.
Перевод: Александр «SpiritOfNet» Костюков.
Текст читал: Павел «Snusmoomrik».
Привет! Меня зовут Крис, и это Battle(non)sense!
Сетевые онлайн-игры сегодня жутко популярны, и всех их объединяет одна проблема — по сравнению с локальными сетями скорость интернета ощутимо медленнее. И когда я говорю “медленнее”, я не имею в виду пропускную способность. Я говорю не о том, как быстро у вас скачиваются или закачиваются файлы. Я имею в виду, что в сравнении с локальными сетями, конкретному отдельному биту информации нужно больше времени, чтобы достичь пункта назначения. А для шутера от первого лица время является решающим фактором. И когда данные вовремя не попадают куда надо, у вас начинает лагать.
Термин, связанный с лагом — это пинг. Когда вы ищете сервер, чтобы поиграть, то значение, отображенное здесь, это ваш пинг до сервера. В общей таблице результатов вы можете видеть пинг каждого отдельного игрока на сервере. И по причине того, что все подключены к серверу из разных мест, у каждого игрока свое значение пинга.
Но что же такое пинг на самом деле? Если вы смотрели фильм “Охота за “Красным Октябрем”, то наверняка помните момент, когда герой Шона Коннери отдал приказ узнать расстояние до Американской подводной лодки, используя единичный сигнал. Суть этого в том, что ваш корабль отправляет звуковой сигнал, который в последствии отражается от других объектов и возвращается на ваш корабль, где его улавливает микрофон. Если измерить время между отправлением сигнала и получением отраженного сигнала, то зная скорость распространения этого звука в воде, можно посчитать расстояние до объекта.
Пинг, о котором мы говорим относительно сетей и устройств, практически то же самое. Вы отправляете ICMP-пакет на другое устройство (например, на игровой сервер), который, в свою очередь, отправляет ICPM-ответ вам. Если замерить время между отправкой запроса и получением ответа, то мы получим величину пинга. Или время данных в пути. Итак, данным этим надо пройти по медным проводам и каналам оптико-волоконной связи. И чем длиннее эти провода, тем больше разница между тем, что вы видите на своем экране, и что видят другие игроки. То есть — больше лагов. Так что величина пинга весьма существенна при поиске игрового сервера, если вы хотите получить как можно меньше лагов.
Но не только время данных в пути может испортить вам игру. Есть еще много факторов, влияющих на данный процесс. К счастью, в Battlefield 4 у нас есть достаточно мощный инструмент, который предоставляет нам достаточно данных для определения и устранения этих проблем. Это «график сетевой производительности». Версия его, которую я собираюсь показать вам в этом видео, будет включена в осенний патч 2015 года для BF4 на ПК и Xbox One, ведь Microsoft дали свое разрешение на включение этого графика в игру на их консоли. К сожалению, на PlayStation 4 такого инструмента не будет.
На ПК и Xbox One вы можете включить отображение данного графика через активацию этого пункта меню. На ПК вы также можете воспользоваться консолью в игре, введя эту команду для включения или отключения. Кроме того возможно изменение положения графика на экране.
Первое значение, которое он отображает — это тикрейт. То есть, сколько просчетов или симуляций в секунду происходит. На момент выпуска этого видео стандартным значением тикрейта было 30Гц — 30 симуляций в секунду. Но хостеры игровых ПК-серверов уже тестируют тикрейт в 60, 120 и 144 герца, и админы ПК серверов уже в самое ближайшее время смогут получить от провайдеров серверы с тикрейтом выше 30Гц.
Кроме того, высокий тикрей может дойти и до консолей, так как DICE LA сейчас испытывают тикрейт 45, 50 и 55Гц для Xbox One. Поэтому есть большая вероятность, что владельцы PS4 и XboxOne получат возможность играть с тикрейтом выше 30Гц спустя некоторое время после релиза этого видео.
Итак, значение тикрейта в графике позволяет узнать вам текущий тикрейт на сервере. И чем выше это значение, тем плавнее будет ощущаться игра, так как больше данных будет обрабатываться.
Следующее значение это «задержка» (latency leɪtənsi), которая в чем-то схожа с пингом, но, в отличие от ICMP-запроса, показывает время в пути игровых данных по UDP-протоколу. «Задержка» отображает время путешествия данных от клиента к серверу и обратно, и не включает в себя время обработки этих данных сервером или клиентом. И это значение будет немного выше значения пинга, так как пинг показывает скорость работы сети на более низком уровне.
Как же понять хорошее или плохое у вас время задержки? Разработчики включили достаточно неплохую фишку, которая изменяет цвет показателя, в зависимости от того, как далеки вы от идеального значения, или что ваше соединение вообще хреновое. Кроме того, на правую часть экрана были добавлены значки отображения текущей задержки. Так что вам не нужно держать постоянно открытым график сетевой производительности, эти значки сами предупредят вас о том, что что-то пошло не так.
Итак, я знаю, какие значения задержки окрашивают эти значки в желтый и красный цвета, но я вам этого не скажу, ведь разработчики могут достаточно просто изменять их через свои инструменты. Поэтому, если, я начну заверять вас в том, что, например, значение задержки более 220 миллисекунд окрашивает текст и значок в красный цвет, это значение уже может быть изменено к моменту публикации видео, так как разработчики могут менять их, не выпуская новые сборки серверов или патч для клиентских машин. Так что вам достаточно знать того, что если цвет текста или значка желтые — вы можете испытывать проблемы с игрой. А если цвет становится красным, значит пора менять сервер.
Следующее значение — это «изменение задержки», которое показывает как сильно изменяется время в пути ваших игровых данных. Постоянное значение является идеальным, так как серверу приходится приспосабливаться к изменению задержки, и, если изменение задержки сильно скачет, это означает, что серверу приходится туго с обработкой и приспособлением. Желтый и красные цвета текста индикатора показывают, что есть проблемы с изменением задержки.
Как я уже говорил ране, если интернет-соединение не просто медленное, и каждому отдельному пакету нужно больше времени для достижения цели, существуют иные проблемы, негативно влияющие на впечатление от игры. Одна из них — это когда UDP-пакеты попросту пропадают по пути между клиентом и сервером. Это называется “потеря пакетов” и, естественно, это не очень хорошо. Причина, по которой используется не TCP, а именно UDP, состоит в том, что сетевые онлайн-игры очень восприимчивы ко времени. В других приложениях вы можете потерять пару пакетов то тут, то там, но задержка пакетов не пройдет. Итак, желтый индикатор говорит о том, что потеря пакетов добавляет вам некоторые проблемы. В то же время красный индикатор говорит о том, что стоит поискать другой сервер или проверить ваше интернет соединение.
Три следующие пункта имеют отношение к регистрации попаданий.
1. Clients fired говорит о количестве сделанных выстрелов;
2. Client hit говорит о том, сколько попаданий насчитал ваш игровой клиент;
3. Server Confirmation Bundle показывает, сколько пакетов с подтверждением попаданий вы получили с сервера.
Вы можете подумать, что можно просто взять значение регистраций клиентом, вычесть регистрации сервером, и в результате получить количество, отвергнутое сервером. К сожалению, не все так просто. Если стрелять по танку из оружия, которое не может причинить ему урон, то вы получите кучу попаданий со стороны клиента, но ни одного подтвержденного нанесенного урона со стороны сервера. С сервера вы получаете подтверждение только в том случае, если действительно наносите урон. А если урон нанесен с использованием C4, гранат, клэйморов, гранатомета, ТВ-ракеты или любого другого оружия, которое имеет урон по области, то вы получите только пакет подтверждения об уроне со стороны сервера и ни одного попадания для клиентской части, так как этот тип урона просчитывается исключительно на стороне сервера. Кроме того на серверах 64 «каски» с тикрейтом 30Гц есть шанс того, что другому игроку нанесут урон два ваших выстрела, но сервер отправит только один пакет с подтверждением. Так что вы не можете просто посчитать, сколько попаданий отверг сервер, а можете просто увидеть те данные, которые предоставляет этот инструмент.
Следующий пункт весьма интересен. Это “цикл сервера” (server tick). И говорит он нам о том, сколько времени требуется серверу для обработки одного цикла. Когда сервер работает с частотой 30Гц это означает, что он производит 30 симуляций или вычислений в секунду. То есть порядка 33 миллисекунд на каждую. Это обозначает, что, когда приходит время очередного цикла, сервер начинает просчитывать поступившие к нему данные. Потом он отправляет результаты вычислений на клиентскую машину и прекращает свою активность, пока не придет время очередного цикла. И чем быстрее сервер может закончить цикл вычислений, тем скорее клиент получит ответ на отправленные данные. Что в свою очередь означает снижение задержки для игроков при достаточной скорости обработки циклов. А чем больше он обрабатывает, тем ощутимее лаги для игроков. Если посмотреть на график, то будет предельно ясно, что игровые серверы испытывали серьезные трудности, когда не могли завершить операции в течение времени, отведенного под один цикл. Как только это станет ощутимой проблемой, вы увидите желтый индикатор по правому краю экрана. Если же индикатор стал красным — это означает, что сервер не способен обработать данные за тот период времени, пока не поступили новые. И это сигнал админам о том, что пора бы уже перезагрузить сервер, а вам — сигнал о том, что пора бы поискать другой игровой сервер.
Следующее — это Server Offset (Серверное Смещение), которое показывает, насколько велика разница между тем, что видите вы и тем, что происходит на сервере. Для этого показателя нет значков оповещения. Так что если вы заметите проблемы с игрой (например, когда вас откидывает назад), вам следует заглянуть в монитор сетевой производительности и посмотреть желтого или красного цвета там данный параметр.
И последним в списке идет значение “Downstream Bandwidth” (Пропускная способность на скачивание), которое просто показывает вам какую часть канала игра в настоящий момент использует. Вы можете заметить, что объем скачиваемой информации на серверах с большим количеством игроков или высоким тикрейтом выше, чем на серверах с малым числом игроков. Это значение не имеет ни отображения в виде иконки, ни меняет свой цвет. Хотя я бы хотел получать оповещения о проблемах получения игровой информации на серверах в 60, 120 или 144 герца.
Итак, я перечислили все значки, которые связаны с монитором сетевой производительности. Но есть еще несколько иконок, которые вы можете увидеть при подключении к серверу, работающему с тикрейтом 60 и более герц. Говоря в целом, ваш fps всегда должен быть не менее тикрейта сервера, чтобы обеспечить этот самый тикрейт. Так что если вы играете на 60-герцовом сервере с менее чем 60 fps это не приемлемо, и вы увидите желтый значок в качестве оповещения. Этот же значок станет красным при значительном понижении вашего ФПС по сравнению с тикрейтом. И здесь вам уже придется поиграть с настройками графики, чтобы поднять fps.
Следующий фактор — это частота вашего монитора. Если вы играете на сервере в 120Гц, игра выдает вам 120 fps, то ваш монитор должен иметь частоту в 120Гц. В противном случае вы просто не увидите эти 120 fps. Так что если ваш монитор имеет частоту обновления 60Гц, а вы играете с fps 120 на сервере с тикрейтом 120, игра покажет вам вот этот значок, говорящий, что данные настройки не идеальны. Если же у вас игровой монитор с поддержкой 120 и 144 герц, то вам нужно использовать DVI или HDMI провод для его подключения, так как только они поддерживают частоту более 60 герц. Если именно их вы и используете, то просто перейдите в настройки графики и измените разрешение на значение с более высокой герцовкой.
Итак, это был монитор сетевой производительности и значки уведомлений, которые войдут в BF4 в «осеннем патче» 2015 года и сильно помогут нам с определением проблем в игре. Но что еще можно предпринять для решения проблем кроме смены сервера? Или как предотвратить их появление?
Во-первых, используйте хороший сетевой провод для подключения вашего ПК или консоли. Используйте WiFi или подключение через энергосеть только в крайнем случае, когда подключение по проводу недоступно. Это исключит многие проблемы с потерей пакетов или задержкой, от которых страдают многие. Кроме того, вы когда-нибудь обращались в техподдержку провайдера и в ответ получали совет перезагрузить оборудование? На самом же деле этот совет имеет смысл, так как оборудование, рассчитанное на широкие массы, имеет свойство сбоить, если оно долго включено. Самое лучшее решение для того, чтобы вам больше никогда не пришлось перезагружать роутер вручную, — это использовать розетку с таймером. Просто назначьте время, например на 4 утра, и она сама отрубит питание роутеру, тем самым перезагрузив его. Если же вы перепробовали уже все из перечисленного и все равно страдаете от дискомфорта в игре на каких-то серверах, то неплохо бы записать IP-адрес этого сервера и связаться со своим провайдером. Возможно, они смогут изменить настройки маршрутизации, уменьшив тем самым потерю пакетов.
И последнее по списку, но не по значимости. Когда вы ищете сервер, к которому следует подключиться, всегда выбирайте тот, что расположен в вашем регионе и имеет самый низкий пинг.
Надеюсь, что это видео было полезным для вас. Все возникшие у вас вопросы вы можете задать в комментариях под ним. Я всегда стараюсь ответить на столько вопросов, на сколько могу.
Если видео вам понравилось — ставьте лайк и подписывайтесь на канал, чтобы быть в курсе новых выпусков. И до встречи в следующий раз. А пока — берегите себя и всего вам хорошего.
Меня зовут Крис, и это был Battle(non)sense.