Peningkatan performa untuk game

Mulai Android 14, mode daya baru bernama GAME di Android Dynamic Performance Framework (ADPF) memungkinkan penyesuaian performa ponsel selama penggunaan game. GAME menunjukkan ke Power HAL bahwa aplikasi game berada di latar depan. Indikasi ini memungkinkan Power HAL menggunakan strategi pengelolaan daya saat game sedang dimainkan, sehingga pengguna mengalami performa yang stabil dan lebih baik.

Untuk meningkatkan waktu pemuatan game, Android 13 memperkenalkan mode daya baru bernama GAME_LOADING dalam ADPF. GAME_LOADING menunjukkan apakah aplikasi game berada dalam status pemuatan sehingga Power HAL dapat memberikan peningkatan pemuatan. Indikasi ini memungkinkan Power HAL memberikan langkah-langkah peningkatan performa yang dapat mempercepat waktu pemuatan game.

Halaman ini menjelaskan cara aplikasi game meneruskan status game ke Power HAL, menjelaskan cara mengonfigurasi Power HAL untuk memanfaatkannya di perangkat Anda, serta cara menguji penerapan Power HAL Anda.

Deteksi dan notifikasi mode daya

Bagian ini menjelaskan cara Pengelola Daya menangani mode GAME dan GAME_LOADING.

Mode daya GAME

Mode daya baru GAME di Android 14 menunjukkan kepada Layanan Pengelola Daya bahwa pengguna sedang bermain game. Saat diberi tahu tentang mode GAME, Power HAL dapat menyesuaikan daya untuk meningkatkan performa, menurunkan suhu, dan memperpanjang masa pakai baterai, saat game sedang dimainkan.

Gambar berikut menjelaskan alur informasi ke Power HAL untuk menunjukkan mode daya GAME:

game-mode

Gambar 1. Alur informasi untuk menunjukkan bahwa game sedang dimainkan.

Mode daya GAME selalu ditetapkan untuk aplikasi dengan appCategory GAME di AndroidManifest.xml.

Mode daya GAME_LOADING

Mode peningkatan pemuatan berfungsi dengan mendeteksi saat aplikasi game dalam status pemuatan dan memberi tahu Power HAL. Android 13 memperkenalkan status game baru yang disebut isLoading di API yang ditampilkan kepada developer. Status game ini menggunakan mode daya GAME_LOADING baru di Layanan Pengelola Daya untuk memberi tahu Power HAL tentang status game tingkat teratas. Setelah diberi tahu tentang status pemuatan game, Power HAL dapat menyesuaikan setelan performa platform dan kecepatan clock CPU, yang menghasilkan waktu pemuatan yang lebih baik.

Untuk menunjukkan bahwa game sedang dimuat, aplikasi game menggunakan Dasbor Game untuk menetapkan status isLoading di Pengelola Game. Pengelola Game meneruskan status ini ke Layanan Pengelola Game, yang menggunakan setPowerMode dengan mode daya GAME_LOADING baru untuk memanggil Layanan Pengelola Daya. Mode daya GAME_LOADING menunjukkan kepada Power HAL bahwa game berada dalam status pemuatan sehingga Power HAL dapat memberikan peningkatan pemuatan.

Gambar berikut menjelaskan alur informasi dari aplikasi ke Power HAL untuk menunjukkan status pemuatan:

loading-boost

Gambar 2. Alur informasi untuk menunjukkan bahwa game sedang dalam status pemuatan.

Dasbor game memungkinkan pengguna mengaktifkan atau menonaktifkan fitur peningkatan pemuatan dengan Setelan Performa. Setelan Performa selalu nonaktif secara default.

Menyesuaikan Power HAL menggunakan GAME dan GAME_LOADING

Untuk memanfaatkan mode GAME dan GAME_LOADING, OEM harus menyesuaikan implementasi Power HAL. Karena pengelolaan daya dan peningkatan performa bersifat khusus hardware, tidak ada implementasi referensi untuk mode GAME atau GAME_LOADING yang tersedia hingga implementasi referensi untuk perangkat Google Pixel dirilis.

Untuk meningkatkan performa dalam mode GAME dan GAME_LOADING, OEM dapat memilih untuk menerapkan kombinasi tindakan berikut:

  • Stabilkan kecepatan frame
  • Meningkatkan kecepatan clock CPU
  • Menurunkan throttling suhu untuk sementara
  • Menetapkan prioritas CPU yang lebih tinggi ke aplikasi game latar depan
  • Mengurangi peningkatan CPU yang disesuaikan untuk aplikasi reguler non-game
  • Mengoptimalkan strategi distribusi daya terkait termal

Menguji penerapan mode GAME

Untuk menguji penerapan mode GAME, gunakan pengujian yang diawali dengan testGamePowerMode_ di GameManagerServiceTests.java.

Menguji implementasi GAME_LOADING

Untuk menguji penerapan mode GAME_LOADING, gunakan android.gamemanager.cts.GameManagerTest#testSetGameContext. Pengujian ini memverifikasi apakah GameManager::setGameContext() dengan konteks isLoading memanggil mode pemuatan game di Power HAL dalam mode performa.