게임 성능 부스트

Android 14부터 Android 동적 성능 프레임워크(ADPF)의 새로운 전원 모드인 GAME을 사용하면 게임 사용 중에 휴대전화 성능을 맞춤설정할 수 있습니다. GAME은 게임 애플리케이션이 포그라운드에 있다고 전력 HAL에 표시합니다. 이 표시를 통해 전력 HAL은 게임이 플레이될 때 전원 관리 전략을 채택할 수 있으므로 사용자가 안정되고 개선된 성능을 경험합니다.

Android 13에서는 게임 로드 시간을 개선하기 위해 ADPF에 GAME_LOADING이라는 새로운 전원 모드가 도입되었습니다. GAME_LOADING은 전력 HAL이 로드 부스트를 제공할 수 있도록 게임 앱이 로드 상태에 있는지 나타냅니다. 전력 HAL은 이를 통해 게임 로드 시간을 향상할 수 있는 성능 부스트 조치를 제공할 수 있습니다.

이 페이지에서는 게임 앱이 전력 HAL에 게임 상태를 전달하는 방법, 기기에서 전력 HAL을 활용할 수 있도록 전력 HAL을 구성하는 방법, 전력 HAL 구현을 테스트하는 방법을 설명합니다.

전원 모드 감지 및 알림

이 섹션에서는 전원 관리자가 GAMEGAME_LOADING 모드를 처리하는 방법을 설명합니다.

GAME 전원 모드

Android 14의 새 전원 모드 GAME은 사용자가 게임을 플레이 중임을 전원 관리자 서비스에 표시합니다. 전력 HAL이 GAME 모드라는 알림을 받으면 게임이 플레이되는 동안 전원을 조정하여 성능을 개선하고 온도를 낮추고 배터리 수명을 늘릴 수 있습니다.

다음 그림은 GAME 전원 모드를 나타내기 위해 전력 HAL의 정보 흐름을 설명합니다.

game-mode

그림 1. 게임이 플레이 중임을 나타내는 정보 흐름

GAME 전원 모드는 AndroidManifest.xml에서 GAMEappCategory인 애플리케이션에서는 항상 설정됩니다.

GAME_LOADING 전원 모드

로드 부스트 모드는 게임 앱이 로드 상태에 있는 것을 감지하여 이를 전력 HAL에 알림으로써 작동합니다. Android 13에서는 개발자용 APIisLoading이라는 새로운 게임 상태가 도입되었습니다. 이 게임 상태는 전원 관리자 서비스의 새로운 GAME_LOADING 전원 모드를 사용하여 전력 HAL에 최상위 게임 상태를 알립니다. 게임 로드 상태를 안내받은 전력 HAL은 플랫폼의 성능 설정과 CPU 클록 속도를 조정하여 로드 시간을 개선할 수 있습니다.

게임 앱은 게임이 로드 중임을 나타내기 위해 게임 대시보드를 사용하여 게임 관리자의 isLoading 상태를 설정합니다. 게임 관리자는 이 상태를 게임 관리자 서비스에 전달하고, 게임 관리자 서비스는 새로운 GAME_LOADING 전원 모드와 함께 setPowerMode를 사용하여 전원 관리자 서비스를 호출합니다. GAME_LOADING 전원 모드는 전력 HAL이 로드 부스트를 제공할 수 있도록 게임이 로드 상태에 있음을 알려줍니다.

다음 그림은 로드 상태를 나타내는 앱에서 전력 HAL로의 정보 흐름을 설명합니다.

loading-boost

그림 2. 게임이 로드 상태임을 나타내는 정보 흐름

게임 대시보드에서는 성능 설정을 사용하여 로드 부스트 기능을 사용 설정하거나 중지할 수 있습니다. 성능 설정은 항상 기본적으로 사용 중지되어 있습니다.

GAMEGAME_LOADING을 사용하여 전력 HAL 맞춤설정

GAMEGAME_LOADING 모드를 활용하려면 OEM은 전력 HAL의 구현을 맞춤설정해야 합니다. 전원 관리 및 성능 부스트는 하드웨어에 따라 다르므로 Google Pixel 기기의 참조 구현이 출시될 때까지 GAME 또는 GAME_LOADING 모드의 참조 구현을 사용할 수 없습니다.

GAMEGAME_LOADING 모드에서 성능을 개선하기 위해 OEM은 다음 조치를 조합하여 구현할 수 있습니다.

  • 프레임 속도 안정화
  • CPU 클럭 속도 증가
  • 일시적으로 온도 제한 감소
  • 포그라운드 게임 애플리케이션에 더 높은 CPU 우선순위 할당
  • 일반 비게임 애플리케이션용으로 조정된 CPU 부스트 감소
  • 열 관련 전력 분포 전략 최적화

GAME 모드 구현 테스트

GAME 모드 구현을 테스트하려면 GameManagerServiceTests.java에서 testGamePowerMode_가 접두사인 테스트를 사용하세요.

GAME_LOADING 구현 테스트

GAME_LOADING 모드의 구현을 테스트하려면 android.gamemanager.cts.GameManagerTest#testSetGameContext를 사용하세요. 이 테스트는 isLoading 컨텍스트가 있는 GameManager::setGameContext()가 성능 모드에서 전력 HAL의 게임 로드 모드를 호출하는지 확인합니다.