Oyun Modu müdahaleleri

Oyun Modu müdahaleleri, orijinal donanım üreticileri (OEM'ler) tarafından artık geliştiriciler tarafından güncellenmeyen oyunların performansını iyileştirmek için yapılan, oyuna özel optimizasyonlardır. Örnek:

  • WindowManager arka arabelleği yeniden boyutlandırma özelliği kullanılıyor.
  • Yerel GLES sürücüleri yerine ANGLE kullanma.

OEM tarafından sağlanan Oyun Modu müdahalelerini geçersiz kılmak için oyununuzun desteğini alabilir ve Oyun Modu API'sini yönetebilirsiniz.

Game Mode API ve müdahaleler aşağıdaki cihazlarda kullanılabilir:

Her oyun:

  • Game Mode API davranışını uygulayın,
  • OEM'lere Oyun Modu müdahale ayarları önerin veya
  • Oyun Modu müdahalelerini açıkça devre dışı bırakın.

Arka plan

Bu bölümde, Oyun Modu müdahalelerinin ne yaptığı ve her mod için oyununuzu nasıl optimize edeceğiniz açıklanmaktadır.

WindowManager arka arabelleği yeniden boyutlandırma

WindowManager arka arabelleği yeniden boyutlandırma müdahalesi, bir cihazın GPU yükünü azaltabilir. Bu özellik, oyunun temposunu hedef kare hızında ayarladığında da pil tüketimini azaltabilir.

Yeniden boyutlandırmanın etkinleştirilmesi, GPU'nun% 30'a ve genel sistem güç kullanımının% 10'a kadar azalmasına neden olabilir. Sonuçlar kullanılan cihaza, çevre koşullarına ve eş zamanlı işleme gibi diğer faktörlere bağlı olarak değişiklik gösterebilir.

GPU'ya bağlı olan temposu olmayan bir oyun, daha düşük GPU yükleri sırasında daha yüksek kare hızları elde edebilir.

Eşit olmayan kare hızları kullanıcıların performansı algılama biçimini önemli ölçüde etkilediğinden tüm oyunların iyi tempolu olmasını önemle tavsiye ederiz.

FPS kısıtlaması

Android FPS kısıtlama, pil tüketimini azaltmak için oyunların daha sabit bir kare hızında çalışmasına yardımcı olan bir Oyun Modu müdahalesidir. Müdahale Android 13 veya sonraki sürümlerde kullanılabilir. Daha fazla bilgi için FPS kısıtlamaya genel bakış sayfasını inceleyin.

Oyun Modu müdahalelerini değerlendirme

Bu bölümde adb komutu kullanılmaktadır.

Modları ayarlayın

Oyun Modu müdahalelerini test etmeden önce uygulamanın Oyun Modu yapılandırma dosyasında Oyun Modları'nı devre dışı bırakmalısınız. Aksi takdirde, platform bunları atlar ve yalnızca oyun içi optimizasyonlara uyar.

<?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"
/>

(İsteğe bağlı) Mevcut cihaz yapılandırmasını yedekleyin

Pixel veya diğer cihazlarda, cihaz yapılandırmanızda önceden var olan bir oyun müdahalesi yapılandırması olabilir. Yapılandırmayı şu komutu kullanarak sorgulayabilirsiniz:

adb shell device_config get game_overlay <PACKAGE_NAME>

Sorgu null sonucunu döndürürse önceden var olan yapılandırmayı yoksayın. Aksi halde kaydedip değerlendirme sonrasında sıfırlayın.

Müdahaleleri Değerlendirme

WindowManager geri arabelleği yeniden boyutlandırma müdahalesini kendi başına değerlendirmek için aşağıdaki komutu kullanarak oyun modlarında farklı WindowManager arabellek yeniden boyutlandırma değerleri ayarlayın.

adb shell device_config put game_overlay <PACKAGE_NAME>
mode=2,downscaleFactor=0.9:mode=3,downscaleFactor=0.5

Yukarıdaki örnekte, mode=2 "Performans", mode=3 ise "Pil Tasarrufu"dur. downscaleFactor değeri, yeniden boyutlandırma ayarına uygulanan bir yüzde olarak belirtilir (örneğin, 0,7% 70 ve 0,8 %80'dir). %90 (0,9) yeniden boyutlandırma neredeyse ihmal edilebilir düzeydedir, %50 (0,5) ise anlamlıdır.

Uyarı: Alt işlemler Android 12'de doğru şekilde yeniden boyutlandırılamayabilir. Özellikle, kısa mesajların ve pop-up'ların doğru oluşturulduğundan emin olun. Yeniden boyutlandırma ayarını en az %70 ile sınırlamanızı öneririz.

Yeni yeniden boyutlandırma değerleri ayarlandıktan sonra, oyununuzun WindowManager arka arabelleği yeniden boyutlandırma müdahalesinden nasıl etkilendiğini görmek için oyun modları arasında geçiş yapın:

adb shell cmd game mode [standard|performance|battery] <PACKAGE_NAME>

Her oyun modu seçiminden sonra oyunu yeniden başlattığınızdan emin olun. Aşağı ölçekleme müdahalesi için uygulamanın yeniden başlatılması gerekir.

Müdahaleleri devre dışı bırakma

Devre dışı bırakarak oyununuza bir müdahalenin uygulanıp uygulanmayacağını kontrol edebilirsiniz. Her müdahalenin kendi devre dışı bırakma ayarı vardır.

  1. Oyun Modları'nı etkinleştirme ve devre dışı bırakma kontrolü için kullanılan yapılandırma XML dosyası, müdahale ayarları için de kullanılır:
<?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. Özelliği devre dışı bırakmak için oyununuzu yeniden oluşturup yeniden gönderin.

Varsayılan olarak, oyununuzun bu özelliği kullanmasını açıkça devre dışı bırakmadığınız sürece özgün donanım üreticileri (OEM'ler) tarafından ayarlanan müdahaleler kullanılır.

Kaynaklar

Oyun performansını ölçme ve optimize etme hakkında daha fazla bilgi için: