Maßnahmen im Spielmodus sind Spielspezifische Optimierungen werden von Erstausrüstern (OEMs) vorgenommen. zur Verbesserung der Leistung von Spielen, die nicht mehr aktualisiert werden, zu entwickeln. Beispiel:
- Mit WindowManager-Backbuffer-Größe ändern.
- Verwendung von ANGLE anstelle von nativen GLES-Treibern
Ihr Spiel unterstützt den Support und verwaltet die Game Mode API zum Überschreiben Vom OEM bereitgestellte Eingriffe für den Spielmodus.
Die Game Mode API und Maßnahmen sind verfügbar auf:
- Ausgewählte Geräte mit Android 12
- Geräte mit Android 13 oder höher
Jedes Spiel kann:
- Implementieren Sie das Spielmodus-API-Verhalten,
- OEMs Einstellungen für Spielmodus-Maßnahmen vorschlagen
- Aufforderungen im Spielmodus ausdrücklich deaktivieren.
Hintergrund
In diesem Abschnitt wird beschrieben, welche Funktion die Spielmodus-Aktionen haben und wie Sie sie optimieren können. Ihr Spiel für jeden Modus.
Größenanpassung des WindowManager-Backbuffers
Größe des WindowManager-Backbuffers Eingriff kann die GPU-Auslastung eines Geräts reduzieren. Es kann auch die Akkuverbrauch, wenn ein Spiel mit einer Ziel-Framerate getrackt wird
Wenn Sie die Größenanpassung aktivieren, können bis zu 30% der GPU und 10% der Gesamtkapazität reduziert werden Stromverbrauch des Systems. Die Ergebnisse können je nach verwendeten Gerät, Umgebungsbedingungen und andere Faktoren, z. B. simultane Datenverarbeitung.
Ein GPU-gebundenes Spiel ohne Zeittempo hat wahrscheinlich höhere Frame-Raten bei geringerer GPU-Last.
Wir empfehlen dringend, dass alle Spiele gutes Tempo, da die Framerates erheblich schwanken wie Nutzer die Leistung wahrnehmen.
FPS-Drosselung
Die fps-Drosselung unter Android ist ein Spielmodus, der dabei hilft, eine stabilere Framerate, um den Akku zu schonen. Die Maßnahme ist ab Android 13 verfügbar. Weitere Informationen finden Sie unter FPS-Drosselung – Übersicht.
Interventionen im Spielmodus bewerten
In diesem Abschnitt wird der Befehl adb verwendet.
Modi einrichten
Du musst die Spielmodi in den Konfigurationsdatei für Spielmodus bevor Sie die Aufforderungen im Spielmodus testen. Andernfalls umgeht die Plattform und nur In-Game-Optimierungen berücksichtigen.
<?xml version="1.0" encoding="UTF-8"?>
<game-mode-config
xmlns:android="http://schemas.android.com/apk/res/android"
android:supportsBatteryGameMode="false"
android:supportsPerformanceGameMode="false"
/>
Optional: Vorhandene Gerätekonfiguration sichern
Für Pixel oder andere Geräte ist möglicherweise bereits eine Spielmaßnahme vorhanden config in Ihrer Gerätekonfiguration hinzufügen. Sie können die Konfiguration mit dem folgenden Befehl abfragen:
adb shell device_config get game_overlay <PACKAGE_NAME>
Wenn die Abfrage null
zurückgibt, wird die vorhandene Konfiguration ignoriert. Andernfalls speichern Sie sie.
und nach der Auswertung
darauf zurückgesetzt werden.
Interventionen bewerten
Um die Größenanpassung für den WindowManager-Backbuffer selbst zu testen, verwenden Sie die Methode folgenden Befehl, um verschiedene Werte für die Puffergröße von WindowManager Spielmodi.
adb shell device_config put game_overlay <PACKAGE_NAME>
mode=2,downscaleFactor=0.9:mode=3,downscaleFactor=0.5
Im Beispiel oben steht mode=2
für „Leistung“ und mode=3
ist „Energiesparmodus“. Der Wert downscaleFactor
wird als Prozentwert angegeben, der
gilt für die Größenänderungseinstellung (z.B.0,7 ist 70% und 0,8 ist 80%). 90%
(0,9) die Größenanpassung fast vernachlässigbar, während 50% (0,5) signifikant sind.
Warnung:Die Größe untergeordneter Prozesse wird in Android 12 möglicherweise nicht richtig angepasst. In achten Sie darauf, dass Pop-ups und Pop-ups richtig gerendert werden. Mi. sollten Sie die Einstellung auf mindestens 70 % beschränken.
Nachdem die neuen Größenanpassungen eingerichtet wurden, kannst du zwischen den Spielmodi wechseln, um zu sehen, Ihr Spiel von der Größenänderungsaufforderung des WindowManager Backbuffer betroffen ist:
adb shell cmd game mode [standard|performance|battery] <PACKAGE_NAME>
Starten Sie das Spiel nach jeder Auswahl des Spielmodus neu. Die Für das Herunterskalieren ist ein Neustart der App erforderlich.
Benachrichtigungen deaktivieren
Sie können festlegen, ob eine Aufforderung für Ihr Spiel angewendet wird durch die Deaktivierung. Für jede Maßnahme kann eine eigene Deaktivierungseinstellung festgelegt werden.
- Dieselbe XML-Konfigurationsdatei, die auch zur Steuerung der Aktivierung und Deaktivierung von Spielen verwendet wird Modi werden auch für die Interventionseinstellungen verwendet:
<?xml version="1.0" encoding="UTF-8"?>
<game-mode-config
xmlns:android="http://schemas.android.com/apk/res/android"
android:allowGameDownscaling="false"
android:allowGameFpsOverride="false"
/>
- Erstelle dein Spiel neu und reiche es noch einmal ein, um es abzulehnen.
Standardmäßig werden vom Erstausrüster festgelegte Maßnahmen (OEMs) werden verwendet, es sei denn, Sie deaktivieren ausdrücklich deren Nutzung in Ihrem Spiel.
Ressourcen
Weitere Informationen zum Messen und Optimieren der Spielleistung:
System-Profiler: Analysieren Sie die CPU-Nutzung und Grafikaufrufe.
Android GPU Inspector – Profilgrafik aktiviert Android
Android Frame Pacing Library: Hilfe für OpenGL und Vulkan-Spiele sorgen für ein reibungsloses Rendering und ein korrektes Frame-Tempo.
Android Performance Tuner – messen und Framerate und Grafiken auf allen Android-Geräten in großem Maßstab optimieren.
Energy Profiler: Finden Sie heraus, wo Ihre App verwendet wird. mehr Energie als nötig.