вторник, 10 сентября 2019 г.

Fortnite ping

Fortnite


Производительность в «Королевской битве»


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


Проблемы с производительностью, которые больше всего беспокоят игроков


Клиент

  • Низкая частота кадров -> возросшая задержка ввода, большой промежуток между кадрами.

  • Задержка отображения -> возросшая задержка ввода.

  • Рывки (неестественно долгие кадры) -> замирание картинки с последующим ускорением.

  • Нестабильная частота кадров -> трудности с прицеливанием.



Сервер

  • Медленное обновление данных о соединении, низкая частоты кадров -> увеличенный пинг.

  • Рывки (неестественно долгие кадры) -> «эффект резинки».



Сеть

  • Потеря пакетов -> «эффект резинки».

  • Перегруженный канал связи -> «эффект резинки».

  • Высокий пинг -> «эффект резинки».

  • Переизбыток пакетов (особенно при игре через Wi-Fi) -> «эффект резинки».



«Эффект резинки» возникает, если данные на сторонах сервера и клиента не совпадают и подвергаются коррекции. Из-за этого персонажи перемещаются рывками (как натянутые и отпущенные резинки — отсюда и название), взаимодействие с дверьми выглядит странно и т. п.

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


Качество связи с нашими центрами обработки данных в первую очередь зависит от выбранного региона и времени отклика сервера (пинга). Следует учесть, что пинг зависит от маршрута, которым направляются ваши пакеты. Дополнительную задержку и потерю пакетов может вызвать использование Wi-Fi .



Основные наши задачи при мониторинге

  • Отслеживать работу клиента с разными видеокартами; разбивать данные на сегменты в зависимости от параметров графики. Так мы выясняем, какое воздействие оказывают вводимые изменения.

  • Отслеживать рывки на стороне клиента и анализировать, насколько сильно они сказываются на игровом процессе.

  • Отслеживать сетевые пакеты, принимаемые клиентом от сервера и наоборот (а также время между передачами).

  • Отслеживать производительность сервера и оценивать количество потерянных кадров. Первостепенная цель — устойчивая производительность в 20 Гц.

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

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

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


Задачи, стоящие перед разработчиками

  • Улучшить производительность на ПК с минимальной рекомендуемой конфигурацией (Nvidia GTX 460, Radeon HD 5570, Intel HD 4000). Именно здесь мы недавно сели в лужу, но уже начали исправлять положение в версии 1.8.

  • Справиться с «тормозами» на видеокартах для ПК; продолжить работу над оптимизацией вместе с производителями видеокарт (NVIDIA, AMD и Intel).

  • Уменьшить задержку ввода данных на консолях. Мы уже добились определённых результатов в версии 1.8. Пожалуйста, поделитесь с нами своими наблюдениями.

  • Продолжить улучшать работу игры на консолях. Мы отслеживаем потери кадров при вертикальной синхронизации и хотим свести их к минимуму (не больше 2% кадров).

  • Уменьшить количество рывков во время игры. За рывок мы принимаем кадр, который передавался с задержкой более 60 мс и в результате оказался полностью пропущен. Мы хотим, чтобы такие пропуски возникали реже раза в минуту, и нацеливаемся на полное устранение рывков длиннее 100 мс.

  • Исправить оставшиеся проблемы с выделенными серверами. Например, если много игроков тянут с высадкой, то игроки, прыгнувшие раньше, могут столкнуться с «эффектом резинки».

  • Оптимизировать производительность серверов при обычных действиях — например, обсчёте урона.

  • Определить источник рывков, появляющихся в первый час после выхода обновления.

  • Оптимизировать серверный и сетевой код для отправки данных о состоянии игроков по всем 100 подключениям с каждым кадром. Сейчас мы обновляем данные для 25 подключений за кадр в лобби и для 50 — в игре. Это значит, что вы не получаете задуманных нами впечатлений от игры, пока в бою не остается 50 человек. Мы планируем серьёзные изменения и работаем над ними параллельно с другими задачами по оптимизации.

  • Улучшить реагирование на экстремальные случаи, приводящие к каскадным отказам.

  • Улучшить систему подбора игроков, чтобы динамически распределять трафик по центрам обработки данных в зависимости от местонахождения игроков. Наша цель — оптимизировать передачу с учётом пинга и при этом не лишать вас возможности играть с друзьями.

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


А вот что можете сделать вы


Убедитесь, что у вас установлены актуальные драйверы видеокарты. Если они устарели, обновите их до актуальной версии.


Сейчас мы используем серверы в центрах обработки данных Amazon Web Services по всему миру. Вы можете зайти на сайт http://www. cloudping. info/ и узнать свой пинг до этих серверов.

  • Сев. Америка — Вирджиния, Огайо

  • Европа — Франкфурт, Лондон

  • Австралия — Сидней

  • Бразилия — Сан-Паулу

  • Азия — Токио



У Riot Games есть сайт www. lagreport. com. Это отличный источник информации об интернет-провайдерах. Впрочем, эта информация может быть менее полезна для игры в Fortnite.

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


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


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

Комментариев нет:

Отправить комментарий