Intervensi Mode Game pengoptimalan khusus game yang ditetapkan oleh produsen peralatan asli (OEM) untuk meningkatkan performa game yang tidak lagi diupdate oleh developer. Contoh:
- Menggunakan pengubahan ukuran backbuffer WindowManager.
- Menggunakan ANGLE sebagai ganti driver GLES native.
Anda dapat meminta dukungan game dan mengelola Game Mode API, untuk menggantinya Intervensi Mode Game yang disediakan oleh OEM.
Game Mode API dan intervensi tersedia di:
- Perangkat Android 12 tertentu
- Perangkat yang menjalankan Android 13 atau yang lebih baru
Setiap game dapat:
- Mengimplementasikan perilaku Game Mode API,
- Usulkan setelan intervensi Mode Game ke OEM, atau
- Memilih tidak ikut intervensi Mode Game secara eksplisit.
Latar belakang
Bagian ini menjelaskan fungsi intervensi Mode Game dan cara mengoptimalkannya game Anda untuk setiap mode.
Mengubah ukuran backbuffer WindowManager
Intervensi pengubahan ukuran backbuffer WindowManager dapat mengurangi pemuatan GPU perangkat. Hal ini juga dapat mengurangi konsumsi baterai saat game disetel ke kecepatan frame target.
Mengaktifkan perubahan ukuran dapat mengakibatkan pengurangan GPU hingga 30% dan 10% dari keseluruhan penggunaan daya sistem. Hasilnya dapat bervariasi berdasarkan perangkat yang digunakan, kondisi lingkungan, dan faktor lainnya, seperti pemrosesan bersamaan.
Game yang tidak berjalan dan terikat GPU kemungkinan akan mengalami kecepatan frame yang lebih tinggi selama pemuatan GPU yang lebih sedikit.
Kami sangat menyarankan agar semua game Tempo yang baik, karena kecepatan frame yang tidak merata secara signifikan mempengaruhi persepsi pengguna terhadap performa.
Throttling FPS
Throttling FPS Android adalah intervensi Mode Game yang membantu game berjalan pada kecepatan frame yang lebih stabil untuk mengurangi konsumsi baterai. Intervensinya adalah tersedia di Android 13 atau yang lebih baru. Untuk selengkapnya lihat ringkasan throttling FPS.
Mengevaluasi intervensi Mode Game
Bagian ini menggunakan perintah adb.
Menyiapkan mode
Anda harus memilih tidak ikut Mode Game di File konfigurasi Mode Game sebelum menguji intervensi Mode Game. Jika tidak, platform akan mengabaikan dan hanya menerapkan pengoptimalan dalam game.
<?xml version="1.0" encoding="UTF-8"?>
<game-mode-config
xmlns:android="http://schemas.android.com/apk/res/android"
android:supportsBatteryGameMode="false"
android:supportsPerformanceGameMode="false"
/>
(Opsional) Cadangkan konfigurasi perangkat yang ada
Untuk Pixel atau perangkat lain, mungkin ada intervensi game yang sudah ada di konfigurasi perangkat Anda. Anda dapat mengkueri konfigurasi menggunakan perintah:
adb shell device_config get game_overlay <PACKAGE_NAME>
Jika kueri menampilkan null
, abaikan konfigurasi yang sudah ada sebelumnya. Jika tidak, simpan
dan meresetnya setelah evaluasi.
Mengevaluasi Intervensi
Untuk mengevaluasi intervensi perubahan ukuran backbuffer WindowManager sendiri, gunakan perintah berikut untuk menetapkan nilai ukuran buffer WindowManager yang berbeda di seluruh dalam mode game.
adb shell device_config put game_overlay <PACKAGE_NAME>
mode=2,downscaleFactor=0.9:mode=3,downscaleFactor=0.5
Dalam contoh di atas, mode=2
adalah “Performa” dan mode=3
adalah “Penghemat Baterai”. Nilai downscaleFactor
ditentukan
sebagai persentase yang
berlaku untuk pengaturan perubahan ukuran (contoh, 0,7 adalah 70% dan 0,8 adalah 80%). A 90%
(0,9) mengubah ukuran hampir dapat diabaikan, sedangkan 50% (0,5) signifikan.
Peringatan: Proses turunan mungkin tidak diubah ukurannya dengan benar di Android 12. Di beberapa khususnya, pastikan toast dan pop-up dirender dengan benar. Rab sebaiknya batasi setelan perubahan ukuran minimal 70%.
Setelah valie ubah ukuran baru disiapkan, beralihlah antar-mode game untuk melihat caranya game Anda terpengaruh oleh intervensi perubahan ukuran backbuffer WindowManager:
adb shell cmd game mode [standard|performance|battery] <PACKAGE_NAME>
Pastikan Anda memulai ulang game setelah setiap pemilihan mode game. Tujuan intervensi penurunan skala mengharuskan aplikasi dimulai ulang.
Memilih tidak ikut intervensi
Anda dapat mengontrol apakah intervensi diterapkan ke game Anda atau tidak dengan memilih tidak ikut. Setiap interval memiliki setelan untuk tidak ikut sertanya sendiri.
- File XML konfigurasi yang sama yang digunakan untuk mengontrol keikutsertaan dan ketidakikutsertaan Game Mode juga digunakan untuk setelan intervensi:
<?xml version="1.0" encoding="UTF-8"?>
<game-mode-config
xmlns:android="http://schemas.android.com/apk/res/android"
android:allowGameDownscaling="false"
android:allowGameFpsOverride="false"
/>
- Buat ulang dan kirim ulang game Anda untuk memilih tidak ikut.
Secara default, intervensi yang ditetapkan oleh produsen peralatan asli (OEM) akan digunakan kecuali Anda secara eksplisit memilih untuk tidak menggunakannya.
Referensi
Untuk informasi cara mengukur dan mengoptimalkan performa game lebih lanjut:
System Profilers - analisis penggunaan CPU dan panggilan grafis.
Android GPU Inspector - grafis profil di Android.
Library Frame Pacing Android - membantu game OpenGL dan Vulkan mencapai rendering yang lancar dan kecepatan frame yang tepat.
Android Performance Tuner - mengukur dan mengoptimalkan kecepatan frame dan grafik di seluruh perangkat Android dalam skala besar.
Energy Profiler - temukan tempat aplikasi Anda menggunakan lebih banyak energi daripada yang diperlukan.