Android-Spiele werden hauptsächlich auf akkubetriebenen Geräten wie Smartphones oder Tablets gespielt. Optimieren Sie die Energieeffizienz Ihres Spiels, damit Nutzer Ihr Spiel länger spielen können und auch dann eine Spielsitzung starten, wenn ihr Gerät nicht vollständig aufgeladen ist.
Optimale Displayaktualisierungsrate verwenden
Die Bildwiederholrate ist die Geschwindigkeit, mit der sich das Display eines Geräts ändern kann, um neue Informationen anzuzeigen. Traditionell wurde bei Mobilgeräten eine Bildwiederholrate von 60 Hz verwendet, bei der der Displayinhalt 60 Mal pro Sekunde aktualisiert wurde. Moderne Geräte haben oft Displays mit höheren Bildwiederholraten, die mit 90 Hz oder 120 Hz aktualisiert werden können. Höhere Bildwiederholraten sorgen für eine flüssigere Nutzererfahrung bei Aktionen wie dem Scrollen, erhöhen aber den Stromverbrauch des Displays.
Spiele haben in der Regel eine Ziel-Framerate von 30 oder 60 Bildern pro Sekunde. Wenn die Bildwiederholrate des Displays höher als die Zielbildrate des Spiels ist, bietet die höhere Bildwiederholrate keinen Vorteil, sondern nur einen höheren Stromverbrauch. Passen Sie die Displayaktualisierungsrate auf Geräten mit hoher Aktualisierungsrate so an, dass sie der Zielframerate Ihres Spiels so nahe wie möglich kommt.
Swappy-Bibliothek für die Frame-Taktierung einbinden oder aktivieren
Das Android Game Development Kit (AGDK) enthält eine Frame-Pacing-Bibliothek namens Swappy. Swappy optimiert die Displayaktualisierungsrate des Geräts, damit sie so genau wie möglich mit der Framerate des Spiels übereinstimmt. Wenn Sie eine benutzerdefinierte Game Engine verwenden, lesen Sie den Leitfaden zur Frame Pacing Library, um zu erfahren, wie Sie die Bibliothek in Ihre Engine einbinden.
Swappy ist bereits in die Unreal Engine (Frame Pacing für Mobilgeräte) und die Unity Engine (PlayerSettings.Android.optimizedFramePacing) integriert und optimiert die Displayaktualisierungsrate, wenn sie in Ihrem Spielprojekt aktiviert ist.
Android-Framerate-API aufrufen
Alternativ zur Einbindung der Frame-Pacing-Bibliothek können Sie die Android Frame Rate API verwenden, um die Bildwiederholrate des Displays direkt anzupassen.
Vulkan API für Grafiken verwenden
Android unterstützt zwei Grafik-APIs: die ältere OpenGL ES API und die neuere Vulkan API. Vulkan ist jetzt die primäre Grafik-API auf Android und effizienter als OpenGL ES. Weitere Informationen zu den Vorteilen und zur Verwendung von Vulkan finden Sie unter Vulkan für Grafiken verwenden.
Auf die Temperatur des Geräts reagieren
Eine hohe Auslastung der CPU und GPU des Geräts erzeugt Wärme. Die Energieeffizienz sinkt, wenn sich das Gerät erwärmt. Wenn ein Gerät zu heiß wird, wird die Geschwindigkeit der CPU und GPU gedrosselt, um den Stromverbrauch zu senken und das Gerät abkühlen zu lassen. Dieses Verhalten, das als thermische Drosselung bezeichnet wird, wirkt sich auf die Leistung Ihres Spiels und die Akkulaufzeit aus. Verwenden Sie die Android Thermal API, um den thermischen Zustand des Geräts zu überwachen und die Arbeitslast Ihres Spiels anzupassen, um eine thermische Drosselung zu verhindern.
Spielmodus des Geräts abfragen
Mit dem Spielmodus kann der Nutzer festlegen, ob er die Leistung oder die Akkulaufzeit priorisieren oder eine neutrale Standardeinstellung auswählen möchte. Wenn Ihr Spiel variable Leistungskonfigurationen unterstützt, können Sie mit der Game Mode API nach dieser Einstellung suchen und Ihre Spieleinstellungen entsprechend ändern.
Weitere Informationen
Beispiel für eine Demo zur Energieeffizienz in Unity (GitHub)