Oyun Modu müdahaleleri

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

  • WindowManager arka plan arabelleğinin yeniden boyutlandırılmasını kullanma.
  • Yerel GLES sürücüleri yerine ANGLE kullanılması.

Oyununuzun Game Mode API'yi desteklemesini ve yönetmesini sağlayarak OEM tarafından sağlanan Game Mode müdahalelerinin geçersiz kılınmasını sağlayabilirsiniz.

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

Her oyunda:

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

Arka plan

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

WindowManager geri arabelleğini yeniden boyutlandırma

WindowManager arka arabellek yeniden boyutlandırma müdahalesi, cihazın GPU yükünü azaltabilir. Ayrıca, bir oyun hedef kare hızında oynandığında pil tüketimini de 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ı, sabitlenmemiş bir oyunda, GPU yükü azaldığında daha yüksek kare hızları görülebilir.

Eşit olmayan kare hızları, kullanıcıların performansı nasıl algıladığını önemli ölçüde etkilediğinden tüm oyunların düzenli bir akışa sahip olmasını önemle tavsiye ederiz.

FPS kısıtlama

Android FPS kısıtlama, pil tüketimini azaltmak için oyunların daha kararlı 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 sınırlamasına genel bakış başlıklı makaleyi inceleyin.

Oyun Modu müdahalelerini değerlendirme

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

Modları ayarlama

Oyun Modu müdahalelerini test etmeden önce uygulamanın Oyun Modu yapılandırma dosyasında Oyun Modlarını devre dışı bırakmanız gerekir. Aksi takdirde, platform bunları atlayacak 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ı yedekleme

Pixel veya diğer cihazların cihaz yapılandırmanızda önceden mevcut bir oyun müdahale yapılandırması bulunabilir. Aşağıdaki komutu kullanarak yapılandırmayı sorgulayabilirsiniz:

adb shell device_config get game_overlay <PACKAGE_NAME>

Sorgu null döndürürse önceden var olan yapılandırmayı yoksayın. Aksi takdirde raporu kaydedip değerlendirmeden sonra sıfırlayabilirsiniz.

Müdahaleleri değerlendirme

WindowManager arka tampon yeniden boyutlandırma müdahalesini tek başına değerlendirmek için oyun modlarında farklı WindowManager tampon yeniden boyutlandırma değerleri ayarlamak üzere aşağıdaki komutu kullanı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ı için geçerli olan bir yüzde olarak belirtilir (örneğin, 0,7% 70 ve 0,8 %80'dir). %90 (0,9) boyutlandırma neredeyse önemsizken %50 (0,5) boyutlandırma önemli kabul edilir.

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

Yeni yeniden boyutlandırma değerleri ayarlandıktan sonra, oyununuzun WindowManager geri 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çeklendirme müdahalesi, uygulamanın yeniden başlatılmasını gerektirir.

Müdahaleleri devre dışı bırakma

Bir müdahalenin oyununuza uygulanıp uygulanmayacağını devre dışı bırakarak kontrol edebilirsiniz. Her müdahalenin kendi kapsam dışında kalma ayarı vardır.

  1. Oyun modlarının etkinleştirilmesini ve devre dışı bırakılmasını kontrol etmek 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. Kapsam dışında kalmak için oyununuzu yeniden oluşturun ve yeniden gönderin.

Oyununuzda bunları kullanmayı açıkça devre dışı bırakmadığınız sürece, özgün donanım üreticileri (OEM'ler) tarafından ayarlanan müdahaleler varsayılan olarak kullanılır.

Kaynaklar

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