Android 14'ten itibaren Android Dynamic Performance Framework'te (ADPF) GAME
adlı yeni bir güç modu, oyun oynarken 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 stratejilerini benimsemesine olanak tanır. Böylece kullanıcı, kararlı ve daha iyi bir performans deneyimler.
Android 13, oyunların yükleme süresini iyileştirmek için ADPF'de GAME_LOADING
adlı yeni bir güç modu sunuyor. GAME_LOADING
, Power HAL'in yükleme artışı sağlayabilmesi için bir oyun uygulamasının yükleme durumunda olup olmadığını gösterir. Bu gösterge, Power HAL'in oyun yükleme süresini hızlandırabilecek performans artırıcı önlemler almasına olanak tanır.
Bu sayfada, oyun uygulamasının oyun durumunu Power HAL'ye nasıl ilettiği, cihazlarınızda Power HAL'den yararlanmak için nasıl yapılandırılacağı ve Power HAL uygulamanızın nasıl test edileceği açıklanmaktadır.
Güç modu algılama ve bildirim
Bu bölümde, Güç Yöneticisi'nin GAME
ve GAME_LOADING
modlarını nasıl işlediği açıklanmaktadır.
GAME güç modu
Android 14'teki yeni güç modu GAME
, Power Manager Service'e kullanıcının oyun oynadığını bildirir. Güç HAL'ı 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 Power HAL'e bilgi akışı açıklanmaktadır:
1. şekil. Bir oyunun oynandığını gösteren bilgi akışı.
AndroidManifest.xml
içinde GAME
olan uygulamalar için her zaman GAME
güç modu ayarlanır.appCategory
GAME_LOADING güç modu
Yükleme hızlandırma modu, bir oyun uygulamasının yükleme durumunda olduğunu algılayıp Power HAL'yi bilgilendirerek çalışır. Android 13, geliştiriciye yönelik API'de isLoading
adlı yeni bir oyun durumu sunuyor.
Bu oyun durumu, üst düzey oyun durumu hakkında Power HAL'ı bilgilendirmek için Power Manager Service'teki 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şmesini sağlar.
Oyun uygulamasında, oyunun yüklendiğini belirtmek için Oyun Paneli'ni kullanarak Oyun Yöneticisi'nde isLoading
durumunu ayarlar. Oyun Yöneticisi bu durumu, Güç Yöneticisi Hizmeti'ni çağırmak için yeni GAME_LOADING
güç moduyla setPowerMode
kullanan Oyun Yöneticisi Hizmeti'ne iletir. GAME_LOADING
güç modu, Power HAL'e oyunun yükleme durumunda olduğunu bildirir. Böylece Power HAL, yükleme hızını artırabilir.
Aşağıdaki şekilde, yükleme durumunu belirtmek için uygulamadan Power HAL'ye 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 hızlandırma özelliğini etkinleştirmesine veya devre dışı bırakmasına olanak tanır. Performans ayarı her zaman varsayılan olarak devre dışıdır.
GAME ve GAME_LOADING kullanarak Power HAL'ı özelleştirme
OEM'lerin GAME
ve GAME_LOADING
modlarından yararlanabilmesi için Power HAL uygulamalarını özelleştirmeleri 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 uygulamalar kullanıma sunulmaz.
OEM'ler, GAME
ve GAME_LOADING
modunda performansı artırmak için aşağıdaki önlemlerin bir kombinasyonunu uygulamayı tercih edebilir:
- 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 CPU önceliği atama
- Normal, oyun olmayan uygulamalar için ayarlanmış CPU artışını azaltma
- Isıyla ilgili güç dağıtım stratejisini optimize etme
GAME modu uygulamasını test etme
GAME
modunun uygulanmasını test etmek için GameManagerServiceTests.java
içinde testGamePowerMode_
ile 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
kullanın.
Bu test, isLoading
bağlamına sahip GameManager::setGameContext()
öğesinin, performans modunda Power HAL'de oyun yükleme modunu başlatıp başlatmadığını doğrular.