MediaTek повышает динамическую производительность Android SoC

Улучшение производительности и управления температурным режимом имеет важное значение для разработки успешных игр на Android. Традиционно разработчикам приходилось решать эти проблемы путем снижения точности игры или дальнейшей оптимизации средства рендеринга. Эти изменения, как правило, зависят от игры и часто могут быть негибкими.

Некоторые участники экосистемы Android предлагают разработчикам API адаптивной производительности. Чтобы упростить интеграцию функций адаптивной производительности и уменьшить фрагментацию экосистемы, Google и MediaTek сотрудничают для интеграции наших предложений: Android Dynamic Performance Framework (ADPF) и MediaTek Adaptive Gaming Technology (MAGT).

ADPF предлагает разработчикам возможность регулировать рабочую нагрузку игры на основе температурных ситуаций в реальном времени и давать ОС подсказки по оптимизации производительности для текущей рабочей нагрузки. Вы можете использовать эти сигналы для настройки параметров точности и производительности, таких как разрешение, частота кадров и даже стратегия загрузки ресурсов. Это позволяет лучше сбалансировать производительность, температуру и точность воспроизведения, предоставляя геймерам Android наилучшие впечатления. Экосистема Android нашла широкое применение этой технологии. Ares от Kakao Games смогла повысить стабильность FPS до 96% , регулируя рабочую нагрузку во время выполнения в соответствии с температурным API.

MediaTek — ведущий поставщик SoC для Android. Компания производит ряд чипов, таких как новый Dimensity 9300. MediaTek также предлагает MAGT SDK, который доступен с 2021 года. SDK предоставляет расширенные функции для настройки производительности SoC MediaTek, такие как детальная информация о реальных производительность времени и советы по увеличению рабочей нагрузки. Помимо предложения MAGT разработчикам, MediaTek начала предлагать расширенные возможности ADPF.

Рисунок 1. Сотрудничество MediaTek и Google.

Предотвратите тепловое регулирование с помощью ADPF и оптимизируйте производительность.

MediaTek позволяет платформе ADPF получать доступ к текущей и целевой температуре устройства, чтобы предотвратить серьезное регулирование. Используя функцию ADPF getThermalHeadroom() , приложения могут получить оценку доступного теплового запаса до того, как устройство достигнет серьезного регулирования. Используя эту оценку, приложения могут динамически корректировать рабочие нагрузки, чтобы предотвратить срабатывание регулирования устройства, тем самым повышая общее удобство работы пользователя.

Приложение (на примере демонстрации Boat Attack от Unity) также использует API сеанса Performance Hint для оптимизации своей производительности. Он предоставляет целевое время кадра и текущее время кадра для каждого кадра с помощью функций updateTargetWorkDuration() и reportActualWorkDuration() соответственно. Платформа MediaTek вычисляет рабочую нагрузку между двумя вызовами reportActualWorkDuration() и выделяет достаточную мощность ЦП, чтобы гарантировать выполнение рабочей нагрузки в течение заданного периода времени.

В результате платформа MediaTek стабильно обеспечивает оптимальное количество кадров в секунду (FPS) при сбалансированном энергопотреблении, гарантируя плавность работы пользователя.

Обеспечьте более высокую частоту кадров, снижение энергопотребления и более длительные игровые сеансы.

В целом демо-версия Unity Boat Attack улучшила частоту кадров на 8,5 кадров в секунду, снизила энергопотребление на 12 % и позволила увеличить длительность игровых сессий на 25 минут и более. Стандартное отклонение FPS снизилось на 25%. Такое значительное улучшение позволяет повысить точность ваших игр и проводить игровые сессии в течение более длительного периода времени с соблюдением термической устойчивости.

Рисунок 2. Результаты производительности.
Рисунок 3. График FPS.

Даже без изменения настроек точности, просто включив сеанс подсказок по производительности, рабочая нагрузка смогла сократить среднее время выполнения потока рендеринга почти на 10%.

Что будет дальше с адаптивной производительностью процессоров MediaTek SoC

В ближайшие годы ADPF будет обновлен новыми функциями, а также новыми функциями, не зависящими от устройства, от MAGT. Для разработчиков, желающих получить еще больше от своих устройств MediaTek, MAGT SDK содержит расширенные возможности, специально предназначенные для архитектур чипсетов MediaTek, и вскоре также будет предлагать основные функции ADPF.

Рис. 4. MediaTek, согласованный с Android.

Начните работу с адаптивностью Android

Android Dynamic Performance Framework теперь доступен всем разработчикам игр Android для игровых движков Unity, Unreal, Cocos Creator и через наши собственные библиотеки C++.

  • Разработчики Unity могут начать работу с поставщиком Adaptive Performance v5.0.0 . Обратите внимание, что Thermal API поддерживается большинством устройств Android, начиная с Android 11 (уровень API 30), а API Performance Hint — начиная с Android 12 (уровень API 31).
  • Разработчики Unreal могут начать работу с подключаемого модуля Android Dynamic Performance Unreal Engine для большинства устройств Android, ориентированных на Android 12 (уровень API 31) или выше.
  • Для Cocos Creator вы можете начать работу с Thermal API версии 3.8.2 и Performance Hint API версии 3.8.3 .

Для этих игровых движков термические API интегрированы с Adaptive Performance, чтобы помочь вам получить информацию о температуре устройства, а API-интерфейс подсказки по производительности вызывается автоматически при каждом Update() или Monitor() без каких-либо дополнительных действий. И, наконец, для пользовательских механизмов вы можете воспользоваться нашим собственным примером ADPF C++ .

Дополнительные ресурсы

Узнайте, как Android Dynamic Performance Framework может помочь стабилизировать частоту кадров в игре и уменьшить тепловое регулирование.

Узнайте об адаптивной игровой технологии MediaTek для расширенной настройки производительности процессоров MediaTek SoC.