Android 14'ten itibaren 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 gösterir. Bu gösterge, Power HAL'in oyun oynanırken güç yönetimi stratejileri benimsemesine olanak tanır. Böylece kullanıcı, kararlı ve iyileştirilmiş bir performans deneyimler.
Android 13, oyunların yükleme süresini iyileştirmek için ADPF'de GAME_LOADING
adlı yeni bir güç modu kullanıma sunuyor. GAME_LOADING
, bir oyun uygulamasının yükleme durumunda olup olmadığını belirtir. Böylece Power HAL, yükleme hızını artırabilir. Bu gösterge, Power HAL'in oyun yükleme süresini kısaltabilecek performans artırıcı önlemler sunmasına olanak tanır.
Bu sayfada, oyun uygulamasının oyun durumunu Power HAL'e nasıl aktardığı, Power HAL'den cihazlarınızda yararlanmak için nasıl yapılandırılacağı ve Power HAL uygulamanızı nasıl test edeceğiniz açıklanmaktadır.
Güç modu algılama ve bildirimi
Bu bölümde, Güç Yöneticisi'nin GAME
ve GAME_LOADING
modlarını nasıl yönettiği açıklanmaktadır.
OYUNCU güç modu
Android 14'teki yeni güç modu GAME
, Güç Yöneticisi Hizmeti'ne kullanıcının oyun oynadığını belirtir. Güç HAL'i GAME
modu hakkında bilgilendirildiğinde, oyun oynanırken performansı artırmak, sıcaklığı düşürmek ve pil ömrünü uzatmak için gücü ayarlayabilir.
Aşağıdaki şekilde, GAME
güç modunu belirtmek için Güç HAL'ine giden bilgi akışı açıklanmaktadır:
Şekil 1. Bir oyunun oynandığını gösteren bilgi akışı.
GAME
güç modu, AndroidManifest.xml
içinde GAME
değerine sahip uygulamalar için her zaman ayarlanır.appCategory
GAME_LOADING güç modu
Yükleme artışı modu, bir oyun uygulamasının yükleme durumunda olduğunu algılayıp Güç HAL'ini bilgilendirerek çalışır. Android 13, geliştiricilere yönelik API'de isLoading
adlı yeni bir oyun durumu sunar.
Bu oyun durumu, Güç HAL'ini üst düzey oyun durumu hakkında bilgilendirmek için Güç Yöneticisi Hizmeti'ndeki yeni GAME_LOADING
güç modunu kullanır. Güç HAL'i, oyunun yükleme durumuyla ilgili bilgilendirildikten sonra platformun performans ayarlarını ve CPU saat hızını ayarlayabilir. Bu da yükleme sürelerinin iyileşmesini sağlar.
Oyun uygulaması, bir oyunun yüklendiğini belirtmek için Oyun Paneli'ni kullanarak Oyun Yöneticisi'nde isLoading
durumunu ayarlar. Oyun Yöneticisi bu durumu Oyun Yöneticisi Hizmeti'ne iletir. Oyun Yöneticisi Hizmeti, Güç Yöneticisi Hizmeti'ni çağırmak için yeni GAME_LOADING
güç moduyla setPowerMode
kullanır. GAME_LOADING
güç modu, Güç HAL'e oyunun yükleme durumunda olduğunu bildirir. Böylece Güç HAL, yükleme hızını artırabilir.
Aşağıdaki şekilde, yükleme durumunu belirtmek için uygulamadan Power HAL'e bilgi akışı gösterilmektedir:
Şekil 2. Bir oyunun yükleme durumunda olduğunu gösteren bilgi akışı.
Oyun kontrol paneli, kullanıcıların performans ayarını kullanarak yükleme hızlandırma özelliğini etkinleştirmesine veya devre dışı bırakmasına olanak tanır. Performans ayarı varsayılan olarak her zaman kapalıdır.
GAME ve GAME_LOADING'i kullanarak Power HAL'i özelleştirme
GAME
ve GAME_LOADING
modlarından yararlanmak için OEM'lerin Güç HAL uygulamalarını özelleştirmesi gerekir.
Güç yönetimi ve performans artırma donanıma özgü olduğundan, Google Pixel cihaz için referans uygulama yayınlanana kadar GAME
veya GAME_LOADING
modları için referans uygulama sağlanmaz.
OEM'ler, GAME
ve GAME_LOADING
modlarında performansı artırmak için aşağıdaki önlemlerin bir kombinasyonunu uygulamayı seçebilir:
- Kare hızını sabitleme
- CPU saat hızını artırma
- Sıcaklık sınırlamasını geçici olarak azaltma
- Ön plandaki oyun uygulamasına daha yüksek bir CPU önceliği atayın
- Oyun dışı normal uygulamalar için ayarlanmış CPU artışını azaltma
- Isıtma ile ilgili güç dağıtım stratejisini optimize etme
OYUNCU modu uygulamasını test etme
GAME
modunun uygulanmasını test etmek için GameManagerServiceTests.java
'de testGamePowerMode_
ön ekiyle başlayan testleri kullanın.
GAME_LOADING uygulamasını test etme
GAME_LOADING
modunun uygulanmasını test etmek için android.gamemanager.cts.GameManagerTest#testSetGameContext
'i kullanın.
Bu test, isLoading
bağlamında GameManager::setGameContext()
işlevinin performans modunda Power HAL'de oyun yükleme modunu çağırıp çağırmadığını doğrular.