Кейс: оптимизация Unreal-игры для встроенных графических решений
Почему важно оптимизировать PC-игры под интегрированные графические решения и как заставить на них выдавать 60 кадров в секунду Unreal-проект, — в блоге движка рассказали инди-разработчики из High Horse Entertainment.
С помощью очень простого и неожиданного решения у Джея Маттиса (Jay Mattis) и Тимоти Раппа (Timothy Rapp), ранее работавшими над сериями таких игр, как Call of Duty и Guitar Hero и являющимися единственными сотрудниками High Horse Entertainment, получилось запустить свой проект, разработанный на Unreal 4, на Intel HD 4000. Казалось бы, ничего сложного, но это при разрешении 1280×720 и стабильном фреймрейте в 60 кадров.
Зачем разработчики вообще взялись за оптимизацию под интегрированное решение? Причин две.
Во-первых, значительная конкуренция на рынке. “Если никто не играет, никто не может найти себе соперника. По этой причине для нас очень важно поддерживать максимальное число конфигураций”, — пишут Джей и Тимоти
Они знают, что порядка 40% компьютеров, на которых играют, используют встроенные графические решения от Intel. На перенасыщенном рынке игнорирование столь солидной доли пользователей может дорого обойтись студии.
Что же сделали в High Horse Entertainment?
Изначально они тестили производительность Unreal Engine 4.12.5 “из коробки” на имеющимся примере “Шутер”. На машине с процессором Intel® Core™ i7-4720 и графикой Intel® HD Graphics 4600 демка на максимальных параметрах показывала порядка 20 кадров в секунду, а на минимальных — около 40 кадров в секунду.
Большинство команд это могло устроить, но Джею и Тимоти было принципиально важно, чтобы игра выдавала даже на минимальных установках 60 кадров. При этом они понимали, что имеющийся рендер вряд ли им это позволит осуществить.
Но у Unreal Engine 4 есть особенность — Mobile Preview, которая позволяет визуализировать игру на десктопе, используя мобильный рендер. Демка “Шутер” в рамках Mobile Preview стала выдавать порядка 100 кадров в секунду.
Непосредственно Disc Jam после проведенной оптимизации стал показывать желаемые 60 кадров на интегрированной графике при разрешении 1280×720 точек.
Главная проблема после этого была связана только с тем, чтобы настроить свет и тени, в работе с которыми мобильный рендер ограничен. О том, что конкретно для этого поменяли разработчики в коде можно прочесть здесь.
При запуске же игр из Steam сами пользователи после релиза игры смогут выбрать, какую версию игры они хотят запускать: полноценную или для слабых машин.
Disc Jam пока еще не вышла, но уже сейчас, согласно SteamSpy, у игры, находящейся в закрытой пре-альфе, около 80 тысяч пользователей.
Источник: Unreal Engine Blog