Die Performance und Akkulaufzeit auf Android Geräten ist meist ein leidiges Thema. Mehr Power saugt den Akku schneller leer und weniger Leistung lässt das System stark ruckeln. Falls ihr euren Androiden bereits gerootet habt, möchte ich euch in diesem Artikel einen weiteren Schritt in Richtung Optimierung von Leistung und Laufzeit zeigen. Es geht um sogenannte Governors. Auch wenn das Thema etwas technisch angehaucht ist, solltet ihr euch nicht abschrecken lassen. Denn die Optimierungsmaßnahme ist meist mit ein paar einfachen “Klicks” erledigt.
Was ist ein Governor?
Alle Android Smartphones werden von einem Prozessor angetrieben. Die Leistung dieser CPU wird auf der “Verpackung” meist mit einem fixen Wert angegeben. So sind beispielsweise in meinem Samsung Galaxy S2 zwei Prozessoren mit jeweils 1,2 Ghz (1200 Mhz) verbaut. Wenn das Smartphone jederzeit im maximalen Takt mit 1,2 Ghz laufen würde, wäre es ziemlich schnell leer gesogen. Damit dies von Haus aus verhindert wird, schaltet der Androide im Standby oder bei nicht allzu anstrengenden Tätigkeiten einen oder gleich mehrere Gänge runter. Wir haben also verschiedene Taktraten (z.B. 300 Mhz, 600 Mhz, 800 Mhz, 1000 Mhz und 1200 Ghz) mit denen das Gerät arbeitet, je nachdem ob gerade viel oder wenig Leistung gebraucht wird. Nach diesem Prinzip verwalten alle Android Geräte ihren Haushalt.
Ein Governor ist hierbei der Treiber, der den CPU-Takt regelt. Der Governor entscheidet bei hoher oder niedriger Auslastung wann und wie schnell ein entsprechender Takt eingestellt werden soll. Im besten Fall meistert der Treiber somit den Drahtseilakt zwischen Leistung und Laufzeit. Je nach Gerät bzw. Kernel gibt es unterschiedliche Arten von Gonvernors.
Governor wechseln
Um den Governor zu wechseln benötigt ihr neben Root Zugriff ein Programm wie SetCPU for Root User, CPU Tuner oder SimpleOC. In SetCPU selbst findet ihr die entsprechende Einstellung direkt auf dem Hauptbildschirm unter “Scaling”. Standardmäßig sollte hier “ondemand” ausgewählt sein. Falls ihr ein Custom ROM wie das CyanogenMod installiert habt, müsst ihr einfach nur in die Systemeinstellung unter Leistung -> Prozessor gehen und findet unter “CPU-Regler” alle verfügbaren Governors. Um euch jetzt nicht mit den Bedeutungen von über 20 verschiedenen Governors zu langweilen, beschränke ich mich im folgenden auf 8 wichtige Governors, denen ihr höchstwahrscheinlich begegnen werdet.
Ondemand
Der ondemand Governor ist in allen (Stock) Kernels als Standard aktiv. Generell bietet die Einstellung eine gute Balance zwischen Performance und Akkulaufzeit. Aber natürlich gibt es hier noch jede Menge an Optimierungsbedarf. Bei Ondemand schaltet das System nämlich immer direkt auf maximale Taktfrequenz, sobald Prozessorleistung gefordert wird. Erst danach wird langsam auf das eigentlich optimale Level getaktet. Es wird somit Leistung bereitgestellt, die meist gar nicht benötigt wird – und das zieht am Akku.
Conservative
Conservative ist eine langsamere Variante des Ondemand Governors. Anstatt direkt Vollgas zu geben, erhöht der Conservative Governor schrittweise die Frequenz nach der Formel X/2. Er ist sozusagen um die Hälfte langsamer und erhöht somit die Laufzeit auf Kosten der Leistung. Wenn euch Leistung nicht allzu wichtig ist, bietet der Conservative Governor ein sehr hohes Energiesparpotential.
Interactive
Wenn es eine langsamere Variante des Ondemand Governors gibt, muss es wohl auch eine schnellere Variante geben. Das System reagiert mit Hilfe des Interactive Governors etwas schneller, wobei sich die Akkulaufzeit nur geringfügig verringert. Der Interactive Governor bestimmt die optimale Taktfrequenz jeweils selbst und kann somit als ein “intelligenter” Ondemand Governor bezeichnet werden.
Userspace
Bei Userspace könnt ihr selbst die Frequenzen angeben. Hat wohl anscheinend noch nie jemand ausprobiert, ist bei der Auswahl an Governors auch nicht wirklich notwendig.
Powersave
Bei Powersave wird die maximale Frequenz auf dem Level der minimalen Taktfrequenz festgelegt. Das Android Gerät ist damit fast unbrauchbar, da Anfragen nur noch sehr langsam verarbeitet werden können.
Performance
Dieser Governor ist das genaue Gegenstück zum Powersave. Hier entspricht die minimale Taktfrequenz der maximalen Taktfrequenz. Das Android Gerät zwingt mit diesem Bleifuß die Laufzeit schnellstmöglich in die Knie. Falls ihr die Leistung eures Androiden mit Hilfe eines Benchmark wie Linpack oder Quadrant messen wollt, könnt ihr mit diesem Governor sicherstellen, dass euer Gerät immer am Maximum arbeitet.
SmartAss V2
Nachdem der SmartAss Governor überarbeitet wurde, hat sich die 2te Version im letzten Jahr immer weiter als ein Favorit unter den Governors etabliert. Ziel von SmartAss V2 ist eine optimale Balance zwischen Leistung und Akkulaufzeit, wobei die Entwickler dies durch eine besonders aggressive Skalierung erreicht haben. Das System versucht unter SmartAss V2 aggressiv bzw. sehr schnell in die jeweils optimale Taktfrequenz zu schalten – und das nicht nur im laufenden Betrieb, sondern auch wenn das Display an- oder ausgeschaltet ist.
Lulzactive
Der Lulzactive Governor basiert auf dem Interactive und Smartass-Governor und sollte von euch auch unbedingt ausprobiert werden. Im Prinzip arbeitet dieser Governor mit dem Level der jeweiligen Arbeitsbelastung. Wenn diese über oder unter 60% liegt, skaliert der Governor die Taktfrequenz auf die nächsthöhere oder niedrigere Stufe (z.B. von 600 Mhz auf 800 Mhz). Bei ausgeschaltetem Bildschirm taktet das System auf die niedrigste Frequenz runter. In der neueren Version des Governors können auch eigene Schwellenwerte zum auf- oder abskalieren festelegt werden.
Und welcher Governor ist nun der Beste?
Falls ihr einen unveränderten Kernel einsetzt, sollte der Interactive Governor ein sehr gutes Gleichgewicht darstellen. Wenn euch die Performance nicht allzu wichtig ist, dann wäre vielleicht sogar der Conservative Governor eine mögliche Wahl. Ihr könnt unter SetCPU aber auch eine gute Mischung durch das Anlegen von Profilen erreichen, sodass beispielsweise ein Wechsel des Governors stattfindet, wenn das Display ausgeschaltet wird. Andere Governor wie der SmartAss V2 Governor sind nur mit einem bestimmten Kernel aktivierbar. Diese regeln meist auch den Takt bei ausgeschaltetem Bildschirm, wodurch Profile nicht erst extra angelegt werden müssen. Am Ende hängt natürlich alles von euren eigenen Ansprüchen und eurem Android Gerät ab.
Da der Wechsel des Governors noch schneller als der heimische Stromanbieter-Wechsel funktioniert, sollte jeder Root-User diese Funktion wahrnehmen. Viel Spaß mit mehr Leistung und/oder Laufzeit!
Vielleicht noch erwähnen das man bei CM eventuell im Bootmenü die Governor auswählen muss, weil nicht alle geladen standardmäßig geladen werden. Mein Defy mit CM7.1 bietet mir nämlich erstmal nur ondemand, performance und userspace an. Wie ich den Rest aus den Einstellungen erreiche habe ich noch nicht rausgefunden…