...

пятница, 28 августа 2015 г.

Почему производительность в играх — это не просто средний FPS


Я работаю в игровой индустрии уже более 8 лет. В Wargaming решаю весьма широкий круг вопросов: от анализа патчей до решения различных внутренних проблем. Так вышло, что проблема комфорта и производительности попала в поле моего зрения. После общения с разработчиками World of Tanks, тестировщиками и исследователями поведения игроков у меня сложилось видение вопроса, которое я оформил в виде этой статьи. Я не специалист в области компьютерной графики или разработчик графического движка, не провожу UX-тесты на людях. Но надеюсь, собранная информация и мой непредвзятый взгляд на вопрос натолкнут вас на прогрессивные мысли и стимулируют к творческому поиску решения проблемы производительности в игре.
Обычно под производительностью понимают средний уровень FPS в игре за определенный отрезок времени. Из этого вытекает предположение, что высокий FPS означает высокую производительность и наоборот.

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

График влияния FPS на эффективность действий в игре.
График влияния FPS на эффективность действий в игре. Сплошной линией показано движение, пунктирной — стрельба. По вертикальной оси отложена нормализованная эффективность. Видно, что эффективность стрельбы сильнее зависит от FPS, чем перемещение. Источник: On frame rate and player performance in first person shooter games. Kajal Claypool and Mark Claypool

В тех случаях, когда средний уровень FPS остается неизменным, кратковременные провалы (от 15 сек и более), задержки (лаги) и подергивания способны испортить впечатление об игре и серьезно снизить эффективность действий игрока. Но этот вывод справедлив далеко не для всех игровых ситуаций; тем более он не распространяется на все игры.

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


Конфигурация ПК. Тут все очевидно: мощное «железо» означает более высокую производительность.

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

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

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

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

Настройки графики. Более половины наших пользователей настраивают графику вручную. Далеко не всегда эти настройки оптимальны.

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

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

График fps в течение боя.

График fps в течение боя. Синяя линия — клиент без модов, красная — с модами.
Видно, что моды способны вызывать серьезные провалы производительности в тех местах, где их нет на «чистом» клиенте.

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


Популярная методика тестирования:
  1. Средний FPS. Собирается большое количество реальных реплеев игроков в самых популярных сценариях игры. Затем данные усредняются. Используется для оценки общей производительности относительно других версий клиента.
  2. Синтетические тесты​ (вращающаяся камера в фиксированной точке). Используется для поиска проблем в привязке к локации в игровом мире.
  3. Min по двухсекундному и пятисекундному окну. Используется для обнаружения менее заметных провалов производительности (когда средний FPS не изменился) при модификации рендера.

Альтернативная методика (используется крупным производителем hardware):
  1. % времени, когда FPS ниже 30.
  2. % времени, когда FPS ниже 20.
  3. средний FPS в типичных игровых ситуациях.

Первая методика нацелена на выявление крупных и средних багов, снижающих производительность. Альтернативная методика нацелена на сравнение производительности различных игр на конкретном железе. Ни одна из методик не позволяет оценить насколько пользователю комфортно играть,​ т. к. не учитывает а) игровой контекст (целится игрок или передвигается); б) потребности и особенности игрока (уровень мастерства).
Таким образом, рассуждения о производительности неизбежно приводят нас к необходимости ввести такое понятие, как «комфорт игры». В этом случае комфортная игра означает такой уровень производительности, при котором пользователь не ощущает ее недостаток: картинка обновляется с достаточной частотой, нет приостановок видеопотока и задержек между командами пользователя и реакцией игрового мира.

Очевидно, что при стабильном уровне производительности 60 FPS, отсутствии фризов и задержек комфорт игры будет максимальным. При уровне 10 FPS крайне затруднительно играть практически в любую современную игру. Все остальные промежуточные случаи невозможно трактовать однозначно.

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

Диаграмма зависимости между восприятием комфорта и средним уровнем FPS.
Диаграмма зависимости между восприятием комфорта и средним уровнем FPS. При росте производительности в 3 раза, % игроков, считающих игру комфортной, увеличивается всего на треть.

Распределения среднего FPS у игроков c разным уровнем комфорта
Распределения среднего FPS у игроков c разным уровнем комфорта отличаются незначительно. Видно, что области распределений почти полностью совпадают.

Результаты исследования говорят о том, что:

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

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

Влияние FPS, перспективы камеры и разрешения в играх на восприятие производительности человеком и эффективность в выполнении игровых действий. Эти исследования официально опубликованы, т. е. прошли peer review и приняты научным сообществом, а также цитируются им:
  1. On frame rate and player performance in first person shooter games 2007
  2. The Effects of Frame Rate and Resolution on Users Playing First Person Shooter Games (Best paper award)
  3. 2009: Perspectives, Frame Rates and Resolutions: It's all in the Game, Mark Claypool, Kajal Claypool
  4. Is 60 FPS Better than 30? The Impact of Frame Rate and Latency on Moving Target Selection

This entry passed through the Full-Text RSS service - if this is your content and you're reading it on someone else's site, please read the FAQ at http://ift.tt/jcXqJW.

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

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