Повышение производительности во время загрузки игры

Чтобы сократить время загрузки игры, в Android 13 представлен новый режим мощности под названием GAME_LOADING в Android Dynamic Performance Framework (ADPF). GAME_LOADING указывает Power HAL, находится ли игровое приложение в состоянии загрузки, чтобы Power HAL мог обеспечить ускорение загрузки. Эта индикация позволяет Power HAL обеспечивать меры по повышению производительности, которые могут ускорить время загрузки игры.

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

Обнаружение состояния загрузки и уведомление

Режим повышения загрузки работает, обнаруживая, когда игровое приложение находится в состоянии загрузки, и уведомляя Power HAL. Android 13 представляет новое игровое состояние под названием isLoading в API для разработчиков. Это игровое состояние использует новый режим питания GAME_LOADING в службе Power Manager, чтобы уведомить Power HAL о состоянии игры верхнего уровня. Как только Power HAL получает уведомление о состоянии загрузки игры, он может настроить параметры производительности платформы и тактовую частоту процессора, что приводит к сокращению времени загрузки. OEM-производители могут внедрить и настроить повышение загрузки в Power HAL. Дополнительные сведения см. в разделе «Настройка реализации Power HAL» .

Чтобы указать, что игра загружается, игровое приложение использует Game Dashboard для установки состояния isLoading в Game Manager. Диспетчер игр передает это состояние службе диспетчера игр, которая использует setPowerMode с новым режимом питания GAME_LOADING для вызова службы диспетчера питания. Режим мощности GAME_LOADING указывает Power HAL , что игра находится в состоянии загрузки, поэтому Power HAL может обеспечить повышение загрузки.

На следующем рисунке показан поток информации от приложения к Power HAL для указания состояния загрузки.

loading-boost

Рис. 1. Поток информации, указывающий, что игра находится в состоянии загрузки.

Настройте Power HAL, чтобы ускорить загрузку игры.

Чтобы воспользоваться преимуществами режима GAME_LOADING , OEM-производители должны настроить свою реализацию Power HAL в режиме загрузки игры. Такие меры, как увеличение тактовой частоты ЦП, временное снижение регулирования температуры и повышение приоритета ЦП для задачи переднего плана, помогают повысить производительность.

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

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

Протестируйте и подтвердите реализацию загрузки игры

Чтобы протестировать реализацию, используйте android.gamemanager.cts.GameManagerTest#testSetGameContext . Этот тест проверяет, вызывает ли GameManager::setGameContext() с контекстом isLoading режим загрузки игры на Power HAL в режиме производительности.

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