Oyunlar için performans artışı

Android 14'ten başlayarak, Android Dinamik Performans Çerçevesinde (ADPF) GAME adlı yeni bir güç modu, oyun kullanımı sırasında telefon performansının özelleştirilmesini sağlar. GAME Power HAL'e bir oyun uygulamasının ön planda olduğunu belirtir. Bu gösterge, Power HAL'in oyun oynanırken güç yönetimi stratejilerini benimsemesine olanak tanır, böylece kullanıcı istikrarlı ve gelişmiş bir performans deneyimler.

Oyunun yükleme süresini iyileştirmek için Android 13, ADPF'de GAME_LOADING adlı yeni bir güç modunu kullanıma sunuyor. GAME_LOADING Power HAL'in yükleme desteği sağlayabilmesi için bir oyun uygulamasının yükleme durumunda olup olmadığını belirtir. Bu gösterge, Power HAL'in oyunun yükleme süresini hızlandırabilecek performans artırıcı önlemler sağlamasına olanak tanır.

Bu sayfada oyun uygulamasının oyun durumunu Power HAL'e nasıl aktardığı açıklanmakta, cihazlarınızda Power HAL'den yararlanmak için Power HAL'i nasıl yapılandıracağınız ve Power HAL uygulamanızı nasıl test edeceğiniz açıklanmaktadır.

Güç modu tespiti ve bildirimi

Bu bölümde Power Manager'ın GAME ve GAME_LOADING modlarını nasıl ele aldığı açıklanmaktadır.

GAME güç modu

Android 14'teki yeni güç modu GAME Power Manager Hizmetine kullanıcının bir oyun oynadığını belirtir. Power HAL, GAME modundan haberdar edildikten sonra oyun oynanırken performansı artırmak, sıcaklığı düşürmek ve pil ömrünü uzatmak için gücü ayarlayabilir.

Aşağıdaki şekil, GAME güç modunu belirtmek için Power HAL'e bilgi akışını açıklamaktadır:

game-mode

Şekil 1. Bir oyunun oynandığını gösteren bilgi akışı.

GAME güç modu her zaman AndroidManifest.xml dosyasında GAME appCategory sahip uygulamalar için ayarlanır.

GAME_LOADING güç modu

Yükleme artırma modu, bir oyun uygulamasının yükleme durumunda olduğunu algılayarak ve Power HAL'e bildirimde bulunarak çalışır. Android 13, geliştiricilere yönelik API'de isLoading adı verilen yeni bir oyun durumu sunuyor. Bu oyun durumu, Power HAL'i üst düzey oyun durumu hakkında bilgilendirmek için Power Manager Hizmetindeki yeni GAME_LOADING güç modunu kullanır. Power HAL oyunun yükleme durumu hakkında bilgilendirildikten sonra platformun performans ayarlarını ve CPU saat hızını ayarlayabilir, bu da yükleme sürelerinin iyileşmesine neden olur.

Bir oyunun yüklendiğini belirtmek için oyun uygulaması, Oyun Yöneticisi'nde bir isLoading durumu ayarlamak için Oyun Kontrol Panelini kullanır. Oyun Yöneticisi bu durumu, Power Manager Hizmetini çağırmak için setPowerMode yeni GAME_LOADING güç moduyla birlikte kullanan Oyun Yöneticisi Hizmetine aktarır. GAME_LOADING güç modu , Power HAL'e oyunun yükleme durumunda olduğunu belirtir, böylece Power HAL yükleme desteği sağlayabilir.

Aşağıdaki şekilde yükleme durumunu belirtmek için uygulamadan Power HAL'e bilgi akışı açıklanmaktadır:

loading-boost

Şekil 2. Bir oyunun yükleme durumunda olduğunu gösteren bilgi akışı.

Oyun kontrol paneli, kullanıcıların Performans Ayarı ile yükleme artırma özelliğini açıp kapatmasına olanak tanır. Performans Ayarı her zaman varsayılan olarak kapalıdır.

GAME ve GAME_LOADING kullanarak Power HAL'ı özelleştirin

GAME ve GAME_LOADING modlarından yararlanmak için OEM'lerin Power HAL uygulamalarını özelleştirmeleri gerekir. Güç yönetimi ve performans artırma donanıma özel olduğundan, Google Pixel cihazı için bir referans uygulaması yayınlanıncaya kadar GAME veya GAME_LOADING modlarına yönelik hiçbir referans uygulaması kullanıma sunulmamaktadır.

GAME ve GAME_LOADING modunda performansı artırmak için OEM'ler aşağıdaki önlemlerin bir kombinasyonunu uygulamayı seçebilir:

  • Kare hızını sabitle
  • CPU saat hızını artırın
  • Sıcaklık kısılmasını geçici olarak azaltın
  • Ön plandaki oyun uygulamasına daha yüksek bir CPU önceliği atayın
  • Normal, oyun dışı uygulamalar için ayarlanan CPU artışını azaltın
  • Termal bağlantılı güç dağıtım stratejisini optimize edin

GAME modu uygulamasını test edin

GAME modunun uygulanmasını test etmek için GameManagerServiceTests.java dosyasında testGamePowerMode_ ön eki olan testleri kullanın.

GAME_LOADING uygulamasını test edin

GAME_LOADING modunun uygulanmasını test etmek için android.gamemanager.cts.GameManagerTest#testSetGameContext kullanın. Bu test, isLoading bağlamına sahip GameManager::setGameContext() performans modunda Power HAL'de oyun yükleme modunu çağırıp çağırmadığını doğrular.