게임 로드 시간의 성능 부스트

Android 13에서는 게임 로드 시간을 개선하기 위해 Android 동적 성능 프레임워크(ADPF)에 GAME_LOADING이라는 새로운 전원 모드가 도입되었습니다. GAME_LOADING은 전력 HAL이 로드 부스트를 제공할 수 있도록 전력 HACL에 게임 앱이 로드 상태인지 여부를 알려줍니다. 전력 HAL은 이를 통해 게임 로드 시간을 향상할 수 있는 성능 부스트 조치를 제공할 수 있습니다.

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

로드 상태 감지 및 알림

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

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

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

loading-boost

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

전력 HAL을 맞춤설정하여 게임 로드 시간 개선하기

OEM에서 GAME_LOADING 모드를 사용하려면 게임 로드 모드일 때의 전력 HAL 구현을 맞춤설정해야 합니다. CPU 클록 속도 높이기, 일시적으로 온도 제한 줄이기, 포그라운드 작업의 CPU 우선순위 높이기와 같은 조치는 성능 부스트에 도움이 됩니다.

성능 부스트는 하드웨어별로 다르므로 Google Pixel 기기의 참조 구현이 출시될 때까지는 부스트 모드의 참조 구현이 없습니다.

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

게임 로드 구현 테스트 및 검증하기

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

단, 이 기능은 하드웨어별로 구현되므로 OEM은 자체 수동 테스트를 실행하여 이 기능을 사용하는 동안 게임 로드 시간이 줄어드는지 확인해야 합니다.