Ab Android 14 gibt es einen neuen Energiemodus namens GAME
im Android Dynamic Performance Framework (ADPF) ermöglicht die Anpassung
die Leistung des Smartphones während der Spielnutzung. GAME
zeigt dem Power-HAL an, dass ein
eine Spiele-App im Vordergrund. Diese Anzeige ermöglicht es dem Power HAL,
Energiesparstrategien anwenden, wenn ein Spiel gespielt wird,
eine stabile und verbesserte Leistung.
Um die Ladezeit eines Spiels zu verbessern,
Version 13 führt einen neuen Strommodus namens GAME_LOADING
ein.
im Rahmen des ADPF. GAME_LOADING
gibt an, ob sich eine Spiele-App im Ladestatus befindet, sodass
kann der Power-HAL für einen Ladeschub sorgen. Dadurch kann der Power HAL
um die Leistung zu steigern und das Laden von Spielen zu beschleunigen.
.
Auf dieser Seite wird beschrieben, wie die Spiele-App funktioniert. Spielstatus an den Power-HAL und erklärt, wie Power-HAL konfiguriert wird, um und wie du deinen Power HAL testest Implementierung.
Erkennung und Benachrichtigung im Energiesparmodus
In diesem Abschnitt wird beschrieben, wie Power Manager die Modi GAME
und GAME_LOADING
verarbeitet.
GAME-Power-Modus
Der neue Energiemodus GAME
in Android 14 zeigt an, dass
den Power Manager-Dienst
dass die Nutzenden ein Spiel spielen. Wenn der Power-HAL über die GAME
benachrichtigt wird
kann die Stromversorgung angepasst werden, um die Leistung zu verbessern, die Temperatur zu senken und
während das Spiel läuft.
Die folgende Abbildung erklärt den Informationsfluss zum Power HAL zur
geben Sie den GAME
-Energiesparmodus an:
Abbildung 1: Informationsfluss, der anzeigt, dass ein Spiel gespielt wird.
Der GAME
-Energiesparmodus ist bei Apps mit appCategory
immer festgelegt
von GAME
in AndroidManifest.xml
.
GAME_LOADING-Energiesparmodus
Der Lade-Boost-Modus erkennt, wenn sich eine Spiele-App in einem Lademodus befindet
und das Power-HAL benachrichtigen. Android 13
führt einen neuen Spielstatus namens isLoading
in der API für Entwickler ein.
Für diesen Spielstatus wird das neue GAME_LOADING
verwendet
im Power Manager-Dienst ein, um das Power-HAL über die
Level-Spielstatus. Sobald der Power-HAL über den Ladestatus des Spiels benachrichtigt wurde,
die Leistungseinstellungen und die CPU-Taktrate der Plattform anpassen,
zu kürzeren Ladezeiten.
Um anzuzeigen, dass ein Spiel geladen wird, verwendet die Spiele-App das Dashboard für Spiele, um
isLoading
im Spiel-Manager angezeigt. Der Spielmanager übergibt diesen Status an das Spiel.
Manager-Dienst, der setPowerMode
verwendet
mit dem neuen GAME_LOADING
Power-Modus zum Aufrufen des Power Manager-Dienstes. Der GAME_LOADING
-Energiesparmodus
zeigt dem Power-HAL an, dass sich das Spiel in einem
Ladezustand, damit der Power-HAL einen Lade-Boost durchführen kann.
Die folgende Abbildung erklärt den Informationsfluss von der App zum Power-up HAL, um den Ladestatus anzuzeigen:
Abbildung 2: Informationsfluss, der anzeigt, dass sich ein Spiel im Ladestatus befindet.
Im Dashboard für Spiele können Nutzer die Lade-Boost-Funktion die Leistungseinstellung an. Die Leistungseinstellung ist standardmäßig deaktiviert.
Personalisiere Power HAL mit GAME und GAME_LOADING
Um die Modi GAME
und GAME_LOADING
nutzen zu können, müssen OEMs
ihre Implementierung des Power HAL anpassen.
Da Energieverwaltung und Leistungsoptimierung hardwarespezifisch sind, gibt es keine Hinweise darauf.
Implementierungen für die Modi GAME
oder GAME_LOADING
sind verfügbar bis
wird eine Referenzimplementierung für Google Pixel veröffentlicht.
Um die Leistung im GAME
- und GAME_LOADING
-Modus zu verbessern, können OEMs
die folgenden Maßnahmen zu kombinieren:
- Framerate stabilisieren
- CPU-Taktgeschwindigkeit erhöhen
- Temperaturdrosselung vorübergehend reduzieren
- Der Spiele-App im Vordergrund eine höhere CPU-Priorität zuweisen
- CPU-Boost für normale Apps, die keine Spiele sind, reduzieren
- Die thermische Stromverteilungsstrategie optimieren
GAME-Modus-Implementierung testen
Um die Implementierung des GAME
-Modus zu testen, verwenden Sie Tests mit dem Präfix
testGamePowerMode_
in GameManagerServiceTests.java
.
GAME_LOADING-Implementierung testen
Verwenden Sie android.gamemanager.cts.GameManagerTest#testSetGameContext
, um die Implementierung des GAME_LOADING
-Modus zu testen.
Dieser Test prüft, ob GameManager::setGameContext()
mit einem isLoading
Kontext ruft den Lademodus des Spiels auf dem Power-HAL im Leistungsmodus auf.