...
🤳 Блог Android новостей, посвященный советам экспертов, новостям, обзорам, телефонам Android, приложениям, инструкциям, планшетам и мобильным телефонам.

Фрагментация Fortnite Android – огромная проблема, над решением которой работает Epic

244

Одним из крупнейших игровых релизов лета стал Fortnite. Игра, которая была доступна на других платформах, кажется, эоны, наконец добралась до Android с запуском бета-программы Epic 9 августа.

Сначала игра была доступна только для устройств Samsung, но Epic не заставила себя долго ждать, чтобы начать рассылку приглашений владельцам очень специфического подмножества Android-устройств. Даже при ограниченной поддержке устройств Epic увидела, что 15 миллионов игроков установили игру в течение первых 21 дня после ее запуска!

Но почему медленное внедрение? Почему поддерживаются только определенные устройства? Почему бы просто не сделать его доступным для всех? Официальный ответ заключается в том, что Fortnite – это очень требовательная игра, и только устройства, выпущенные в течение последних двух лет, могут нормально играть в нее. Однако это еще не все.

Epic опубликовала сообщение в блоге, в котором подробно рассказывается о своей борьбе с фрагментацией Android и о том, как она преодолела огромные различия в аппаратных и программных реализациях, чтобы расширить свою поддержку, включив в нее все флагманские устройства Samsung со времен Samsung Galaxy S7 ; все смартфоны Google Pixel ; несколько устройств от Huawei, включая Honor 10, Mate 10 и P20 ; LG G5 и выше, а также LG V20 и выше; Nokia 8 ; OnePlus 5, и 6; и некоторые популярные устройства от Xiaomi, Asus и ZTE.

Epic увидела, что 15 миллионов игроков установили игру в течение первых 21 дня после ее запуска!

Fortnite использует Unreal Engine, экосистему разработки 3D-игр, которая включает широкую поддержку на нескольких платформах. В этом смысле, чтобы заставить Fortnite работать на Android, не нужно было переписывать игру для Android, а скорее об оптимизации производительности рендеринга, стабильности и использования памяти.

Аппаратная фрагментация


Фрагментация Fortnite Android - огромная проблема, над решением которой работает Epic

Прелесть экосистемы Android в ее разнообразии. Потребители могут выбирать из огромного количества устройств с разной ценой. Но такое разнообразие может стать кошмаром для разработчиков игр.

Например, в основе этих устройств лежит множество различных процессоров. Многие используют процессоры Snapdragon от Qualcomm с графическими процессорами Adreno. Но в других устройствах используются процессоры от Samsung (Exynos), MediaTek (MTxxxx) или Huawei (Kirin ). Эти последние процессоры используют графический процессор Mali от ARM.

Некоторые графические процессоры поддерживают только OpenGL 3.x, в то время как другие поддерживают OpenGL 3.x и Vulkan. Кроме того, большинство производителей настраивают функции планировщика и управления питанием своих устройств. Epic также обнаружила, что устройства с одним и тем же графическим процессором могут иметь разные версии графического драйвера. Это означает, что два устройства, использующие одно и то же базовое оборудование, могут иметь очень разные характеристики производительности.

Тот факт, что два устройства имеют одинаковое оборудование, не означает, что они откалиброваны одинаково.

Чтобы добиться наилучших результатов на устройствах Samsung, Epic тесно сотрудничала с инженерами Samsung и даже внесла изменения в код модуля рендеринга Vulkan. Google также сыграл свою роль, и его инженеры помогли Epic определить ключевые области для оптимизации. Вместе они также разработали реализацию твердой синхронизации кадров для OpenGL на Android. Также были задействованы ARM, Qualcomm и многие другие.

Фрагментация программного обеспечения


Фрагментация Fortnite Android - огромная проблема, над решением которой работает Epic

Медленное внедрение последних версий Android часто упоминается как важный фактор фрагментации Android. Однако Epic обнаружила, что 92 процента пользователей Fortnite используют Android 8.0 Oreo или новее.

Epic обнаружила, что 92% пользователей Fortnite используют Android 8.0 Oreo или новее.

Более серьезная проблема – это доработки, которые OEM-производители вносят во внутреннее устройство Android. Например, не существует единого бюджета памяти, на который может ориентироваться Epic. Каждое устройство имеет разный объем памяти и разные настройки того, когда прекращать работу приложений, если памяти становится мало. Epic протестировала выделение памяти на Samsung Galaxy S8 (с графическим процессором Mali) и обнаружила, что может выделить 3 ГБ из 4 ГБ общей памяти до завершения работы. Но на Google Pixel 2 он мог выделить только 1,8 ГБ из 3,6 ГБ общей памяти.

Другими словами, оба устройства имеют около 4 ГБ оперативной памяти, но на Pixel 2 ее можно было использовать на 1,2 ГБ меньше!

Профили


Фрагментация Fortnite Android - огромная проблема, над решением которой работает Epic

Для поддержки широкого спектра устройств с разной памятью и характеристиками производительности Epic использует «классический» подход, который присутствует во многих играх для ПК, а именно уровни производительности: низкий, средний, высокий и эпический. Эти уровни регулируют настройки в игре, чтобы повысить производительность при одновременном снижении качества.

Например, Low увеличивает расстояния просмотра и отключает все дополнительные графические функции. Но на уровне Epic все включено, включая тени и листву, а также используется самое дальнее расстояние обзора.

Помимо этого, есть набор профилей графического процессора, например Adreno 54x, Adreno 630 и Mali G72. Эти профили графического процессора выбирают профиль производительности, который наилучшим образом соответствует возможностям оборудования, а также активируют любые обходные пути, необходимые для этого конкретного оборудования.

Наконец, есть профили для разных устройств, например, Samsung Galaxy Note 9 Adreno и Google Pixel 2 XL. Это позволяет игровому движку при необходимости включать дополнительные обходные пути или оптимизацию.

Заворачивать


Фрагментация Fortnite Android - огромная проблема, над решением которой работает Epic

Многие из оптимизаций кода, выполненных Epic, уже включены в UE4 4.20. В грядущей версии 4.21 их будет еще больше.

Epic хочет использовать Vulkan (а не OpenGL ES) на большем количестве устройств и продолжает улучшать поддержку Vulkan, работая с производителями устройств над оптимизацией. Долгосрочная улучшенная поддержка Vulkan поможет Fortnite повысить производительность для игроков, но это также принесет пользу всем играм на основе Unreal Engine 4, выпущенным для Android.

ДАЛЕЕ: Fortnite Mobile на Android: вот совместимые телефоны

Источник записи: https://www.androidauthority.com

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