Country not specified
Unknown website Share

Apps4all

Страна: -
Город: -
Был онлайн: -
О себе:
 
08-07-2016, 10:59
Apps4all

Поддержка нативного кода x86 в Unity дает прекрасные результаты в игре Hitman GO компании Square Enix

В новой версии Unity 4.6 поддержка приложений с нативным кодом x86 реализуется очень просто. Разработчики компании SquareEnix быстро оценили преимущества поддержки нативного кода x86 на платформе Android, когда при выпуске игры Hitman GO удалось ускорить загрузку игры на 31,2% просто за счет включения поддержки нативного кода x86 в Unity[ 1].

Поддержка в Unity кода x86 на платформе Android предоставляет следующие преимущества по сравнению с прежним уровнем поддержки:

  • Существенное ускорение загрузки
  • Повышение кадровой скорости
  • Снижение потребления электроэнергии

Базовый показатель

До выпуска Unity 4.6 все игры на основе Unity работали на платформе Android в режиме не нативного х86 кода и не могли полностью раскрыть все возможности оборудования x86. Например, если посмотреть на столбец «Не нативный код» на рисунке 1, видно, что игра Hitman GO компании Square Enix обладала неудовлетворительными показателями кадровой скорости и потребления энергии на каждый кадр.

Фрэнсис Петрен (Francis Pétrin) — программист в команде Hitman GO в монреальской компании Square Enix. Поскольку его рабочий график был довольно насыщенным, ему требовался самый простой способ реализации поддержки как можно большего количества платформ. Когда специалисты Square Enix узнали о партнерстве Intel с Unity при реализации поддержки x86 в приложениях и играх для Android, первый же вопрос Фрэнсиса звучал так: «Насколько быстро мы сможем довести это до рабочего состояния?».

Реализация поддержки нативного кода x86

К счастью, ответ на этот вопрос таков: «Очень быстро». Компания Unity предоставила разработчикам Square Enix ограниченный выпуск альфа-версии, в котором была возможность сборки для архитектуры x86. Фрэнсис сообщил, что «...проект Hitman GO был обновлен с Unity 4.3.4f1 до 4.5.4f1 и развернут на устройствах. Сам по себе процесс обновления прошел совершенно гладко. Не возникло ни малейших проблем ни с базой кода, ни с подключаемыми модулями и промежуточными компонентами». Фрэнсис был очень доволен тем, что все сразу заработало и ему удалось добиться значительного прироста производительности на устройствах x86.

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

Не нативный код x86 Нативный код x86 Улучшение Кадров в секунду 53,3 60 Кадровая скорость на 14,6 % выше Расход электроэнергии на каждый кадр 16,5 15,6 Потребление электроэнергии на6,3 % ниже Процент нагрузки на ЦП на каждый кадр 0,4 0,3 Нагрузка на ЦП на21,5 % ниже Время загрузки: от экрана выбора уровня до игры 10,7 8,13 Игра загружается на31,2 % быстрее

Рисунок 1. Прирост производительности[1] при поддержке нативного кода x86

Кроме того, нативный код не так сильно нагружает ЦП, поэтому игры на основе Unity могут достигать более высокой производительности при меньшей нагрузке на ЦП. Время загрузки игры (с момента запуска приложения до появления возможности интерактивного использования меню) сократилось на 2,57с.

Заключение

Поддержка нативного кода x86 в Unity открывает доступ в быстрорастущий сегмент рынка, где студии, такие как SquareEnix, могут получать различные преимущества, например повышение качества графики, ускорение загрузки, снижение расхода электроэнергии. Разработчики компании SquareEnix включили поддержку нативного кода x86 в Unity в игре HitmanGo и добились увеличения кадровой скорости на 14,6% и ускорения загрузки игры на 31,2%. Фрэнсис подвел итоги так: «Мы опубликовали последнее обновление, включающее эту возможность ( нативный код x86), в магазине GooglePlay*. Мы рады, что партнерство Intel и Unity отвечает основной идее всей философии: простота поддержки множества платформ».

Материалы по теме

Включение поддержи нативного кода x86 в Unity: ссылка на статью
Включение поддержи нативного кода x86 в Unity: ссылка на видео

Об авторах

Кристиано Феррейра (Cristiano Ferreira) — инженер по разработке программного обеспечения в отделе Developer Relations Division корпорации Intel, его специализация — мобильные игры и графика. Кристиано помогает разработчикам игр раскрывать все возможности оборудования Intel.

Джозеф Уэллс (Joseph Wells) — магистр по специальности «разработка технической документации» в Северном университете Аризоны, а также бакалавр компьютерных наук. Он посвятил всю свою жизнь современным технологиям и с удовольствием помогает своим коллегам советами и разъяснениями.  

[1] Программное обеспечение и нагрузки, использованные в тестах производительности, могли быть оптимизированы для достижения высокой производительности на микропроцессорах Intel. Тесты производительности, такие как SYSmark* и MobileMark*, проводятся на определенных компьютерных системах, компонентах, программах, операциях и функциях. Любые изменения любого из этих элементов могут привести к изменению результатов. При выборе приобретаемых продуктов следует обращаться к другой информации и тестам производительности, в том числе к тестам производительности определенного продукта в сочетании с другими продуктами.

Конфигурация системы для тестирования, описанного в этом документе: Планшет эталонного дизайна Intel, Android 4.4 и Unity 4.5.4f1. Процессор Intel® Atom™ Z3775 (кэш — 2 МБ, 4 ядра, до 2,39 ГГц), видеоадаптер Intel® HD Graphics с базовой частотой 311 МГц, 2 ГБ памяти и твердотельный диск объемом 16 ГБ. Дополнительные сведения см. на сайте  http://www.intel.com/performance.

 
Intel
статьи
разработка
unity
0 0 0

Чтобы оставлять комментарии вам необходимо зарегистрироваться