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:
- Belirli Android 12 cihazlar
- Android 13 veya sonraki sürümleri çalıştıran cihazlar
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.
- 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"
/>
- 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:
Sistem profilleyicileri: CPU kullanımını ve grafik çağrılarını analiz eder.
Android GPU Inspector: Android'deki profil grafikleri.
Android Frame Pacing Library: OpenGL ve Vulkan oyunlarında sorunsuz oluşturma ve doğru kare hızı elde etmenize yardımcı olur.
Android Performance Tuner: Android cihazlarda kare hızını ve grafikleri geniş ölçekte ölçün ve optimize edin.
Güç Profil Aracı - Uygulamanızın gerekenden fazla enerji kullandığı yerleri bulun.