Spielmodus-Interventionen

Maßnahmen im Spielmodus Spielspezifische Optimierungen werden von Erstausrüstern (OEMs) vorgenommen. zur Verbesserung der Leistung von Spielen, die nicht mehr aktualisiert werden, zu entwickeln. Beispiel:

  • Mit dem 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 Interventionen für den Spielmodus.

Die Game Mode API und Maßnahmen sind verfügbar auf:

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 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.

  1. 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"
/>
  1. 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: