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 ayarlanan oyuna özel 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 mod için nasıl optimize edebileceğiniz açıklanmaktadır.

WindowManager arka arabelleğinin yeniden boyutlandırılması

WindowManager arka tamponu 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ırmayı etkinleştirmek, GPU'nun% 30'una ve genel sistem güç tüketiminin% 10'una varan bir düşüşe 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ıtlaması

Android FPS sınırlaması, 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ümde 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ı atlar ve yalnızca oyun içi optimizasyonlara bakar.

<?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 cihazlarda, cihaz yapılandırmanızda önceden mevcut bir oyun müdahalesi yapılandırması olabilir. 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, kaydedin ve değerlendirmeden sonra bu ayara sıfırlayın.

Müdahaleleri değerlendirme

WindowManager arka tamponu yeniden boyutlandırma müdahalesini tek başına değerlendirmek için oyun modlarında farklı WindowManager tamponu 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, 0,8 ise %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 arka tamponu 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. Ölçek küçültme müdahalesi için uygulamanın yeniden başlatılması gerekir.

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: