Peningkatan kinerja untuk game

Dimulai dengan Android 14, mode daya baru bernama GAME di Android Dynamic Performance Framework (ADPF) memungkinkan penyesuaian performa ponsel selama penggunaan game. GAME menunjukkan kepada Power HAL bahwa aplikasi game berada di latar depan. Indikasi ini memungkinkan Power HAL untuk mengadopsi strategi manajemen daya saat permainan sedang dimainkan, sehingga pengguna merasakan kinerja yang stabil dan lebih baik.

Untuk memberikan peningkatan pada waktu pemuatan game, Android 13 memperkenalkan mode daya baru bernama GAME_LOADING di ADPF. GAME_LOADING menunjukkan apakah aplikasi game sedang dalam status memuat sehingga Power HAL dapat memberikan peningkatan pemuatan. Indikasi ini memungkinkan Power HAL memberikan langkah peningkatan kinerja 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 implementasi Power HAL Anda.

Deteksi dan pemberitahuan mode daya

Bagian ini menjelaskan bagaimana Power Manager menangani mode GAME dan GAME_LOADING .

Mode daya GAME

GAME mode daya baru di Android 14 menunjukkan ke Layanan Power Manager bahwa pengguna sedang memainkan game. Setelah Power HAL diberitahu tentang mode GAME , ia dapat menyesuaikan daya untuk meningkatkan kinerja, menurunkan suhu, dan memperpanjang masa pakai baterai, saat game sedang dimainkan.

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

game-mode

Gambar 1. Aliran informasi untuk menunjukkan bahwa suatu permainan sedang dimainkan.

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

GAME_LOADING mode daya

Mode peningkatan pemuatan berfungsi dengan mendeteksi saat aplikasi game berada dalam status memuat dan memberi tahu Power HAL. Android 13 memperkenalkan status permainan baru yang disebut isLoading di API yang dapat diakses oleh pengembang . Status permainan ini menggunakan mode daya GAME_LOADING baru di Layanan Power Manager untuk memberi tahu Power HAL tentang status permainan tingkat atas. Setelah Power HAL diberitahu tentang status pemuatan game, Power HAL dapat menyesuaikan pengaturan kinerja platform dan laju jam CPU, yang menghasilkan waktu muat yang lebih baik.

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

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

loading-boost

Gambar 2. Aliran informasi untuk menunjukkan bahwa game sedang dalam status memuat.

Dasbor game memungkinkan pengguna untuk mengaktifkan atau menonaktifkan fitur peningkatan pemuatan dengan Pengaturan Kinerja. Pengaturan Kinerja selalu mati secara default.

Sesuaikan Power HAL menggunakan GAME dan GAME_LOADING

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

Untuk meningkatkan kinerja dalam mode GAME dan GAME_LOADING , OEM dapat memilih untuk menerapkan kombinasi langkah-langkah berikut:

  • Stabilkan kecepatan bingkai
  • Meningkatkan kecepatan jam CPU
  • Kurangi pelambatan suhu untuk sementara
  • Tetapkan prioritas CPU yang lebih tinggi ke aplikasi game latar depan
  • Kurangi peningkatan CPU yang disesuaikan untuk aplikasi reguler non-game
  • Mengoptimalkan strategi distribusi listrik terkait termal

Uji implementasi mode GAME

Untuk menguji implementasi mode GAME , gunakan tes yang diawali dengan testGamePowerMode_ di GameManagerServiceTests.java .

Uji implementasi GAME_LOADING

Untuk menguji implementasi 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 kinerja.