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:
- Belirli Android 12 cihazlar
- Android 13 veya sonraki sürümlerin yüklü olduğu 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 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.
- 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 edilmesine yardımcı olur.
Android Performance Tuner: Android cihazlarda kare hızını ve grafikleri geniş ölçekte ölçün ve optimize edin.
Güç Tanımlayıcı: Uygulamanızın gereksiz yere daha fazla enerji kullandığı yerleri bulun.