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 и можете перейти на кабельное подключение, лучше так и сделать. Это уменьшит задержку и потерю пакетов, а заодно сделает более равномерными промежутки между ними.
На соединение могут влиять и телевизионные настройки. В сети есть различные руководства о том, как настроить необходимые параметры. Вот вам один пример .
Пользователи ПК могут почитать статьи вроде этой и узнать, не работают ли у вас ненужные фоновые программы, которые оттягивают на себя ресурсы.
Комментариев нет:
Отправить комментарий