Android 14'ten başlayarak, Android Dinamik Performans Çerçevesi'nde (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.
OYUN 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 edildiğinde, 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:
Ş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:
Ş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'i 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 GameManager::setGameContext()
isLoading
bağlamıyla performans modunda Power HAL'de oyun yükleme modunu çağırıp çağırmadığını doğrular.