Intervensi Mode Game

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:

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.

  1. 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"
/>
  1. 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: