[TIPP] Kernel wechseln und anpassen [26/05/2012]

  • INFO: Es scheint so, dass Xiaomi für Miui einen eigenen Kernel entwickelt, das heisst also, dass die Custom Stock Kernel Probleme machen könnten. Der Siyah hat bei mir bis jetzt keine Probleme gemacht, alle anderen müsst ihr ausprobieren. Wenn ihr im Boot Loop landet wisst ihr es.


    Guten Tag liebe Forengemeinde,


    Ich möchte mich hier dem Thema Kernel widmen. Was ist ein Kernel? Ein Kernel ist das Bindeglied zwischen Hardware und Software. Wenn also der Kernel "schmutzig" ist, also falsche oder unnötige Tweaks und Scripte drin hat, kann es sich negativ auf die Akkulaufzeit auswirken. Es gibt teilweise Kernel Devs, die Hacks einbauen, damit das Tel besser in Benchmarks abschneidet. Da Benchmarks aber nichts über die Alltagsnutzung aussagen, kann man sich denken, welches Geistes Kindes diese Devs sind... :whistling:


    WICHTIG!!! Wenn ihr einen Custom Kernel drauf habt und Probleme entstehen, schaut bitte zuerst im jeweiligen Kernel Thread, und nennt, wenn ihr hier postet den Kernel den ihr habt, da wir hier sonst sehr schlecht ermitteln können, wo das Problem liegt. Wir möchten ja gerne helfen, anders ist das aber nicht möglich. Danke


    Welche Kernel sind für Miui geeignet? Alle Kernel die für Samsung (Stock) Roms geeignet sind, oder Hybriden, also Kernel die auf AOSP/AOKP UND Samsung (Stock) laufen. (Nur Miui V4!!) AOSP/AOKP Kernel sind für Miui nicht geeignet!


    Welche Kernel sind das aktuell? (*)


    Abyss
    Siyah
    Dorimanx
    Phenomenal
    N-E-A-K
    Voku
    S2Mod Kernel


    Der Voku, sowie der Dorimanx basieren auf dem Siyah, sind aber mit Tweaks von anderen Kernel gespickt. Der S2Mod Kernel hat einen Miui-Spezifischen Kernel. Sobald ich mehr weiss, was dieser Miui Kernel von den anderen "Stock" Kernel unterscheidet, werde ich die Infos hier posten!


    *Ich versuche es möglichst aktuell zu halten, haut mich aber nicht, wenn mal ein neuer kommt und er ist hier nicht drin :P


    Muss beim Kernelflash etwas beachtet werden? WICHTIG!!!: Es kann beim Kernelflash immer etwas schief gehen, gerade letztlich wurden ein paar SGS2 durch einen Fehler in der Kernelsource gebrickt!!! Alles geschieht auf eigene Gefahr, seid euch einfach bewusst, dass etwas schief gehen kann! Es ist ratsam, wenn du bereits was am Gov, Sheduler oder der Spannung geändert hast, diese Änderungen rückgängig zu machen, denn sonst kann es sein, dass du nicht weit kommst und das Tel einfriert. In der Regel reicht es den dalvik cache zu wipen. Wer ganz sicher gehen will, flash zuerst das Kernel Cleaning Script von hier: klick und danach den Kernel.


    Nun, was bringt ein anderer Kernel? Ein sogn. Custom Kernel kann zu besseren Akkulaufzeiten beitragen, das Touchverhalten, Scrollen und Reaktionszeiten verbessern. Viele Kernel haben ein Touch Recovery, und sind natürlich besser anpassbar was Govenors und Sheduler angeht, können aber auch Probleme (Bugs) mit sich bringen. Wer auf der ganz sicheren Seite sein möchte, der lässt es besser beim Stock.


    18 Step CPU Tabelle:
    Der Siyah Kernel hat seit einiger Zeit eine neue Frequenztabelle eingeführt, sie so genannten 18 Steps. Das heisst also: 25/50/100/200/300/400/500/600/700/800/900/1000/1100/1200/1300/1400/1500/1600 sind von der CPU ansteuerbar. Die 25 und 50mhz empfinde ich als ziemlich unnötig. Fakt ist, das man bei diesen Steps sehr weit runter kann mit der Spannung, da sie jedoch kaum aktiv sein werden und zu Ruckler oder Freeze auf einigen Geräten führen, halte ich nicht viel von diesen Steps. Probiert es aus und entscheidet selber. Ich habe 100-1200 aktiv. Der ondemand Govenor scheint jedoch weiterhin die "Hauptfrequenzen" 100/200/500/800/1000/1200 am meisten anzusprechen, jenachdem wie dieser eingestellt ist. Das heisst jedoch nicht, dass die anderen Steps nicht genutzt werden, nur weniger.


    Ein leidiges Thema in der Kernelszene sind die 100mhz als niedrigsten Takt. Samsung hat Standartmässig 200mhz als Mindesttakt. Fakt ist, dass das Tel beim Musik hören oder im Leerlauf gerne und oft die 100mhz nutzt, wenn man sie freigibt. Fakt ist ebenfalls, dass nicht nur die Spannung (mV) darüber aussagt, wie sparsam eine Frequenz ist, sondern auch die Frequenz an sich. Wenn nun also 100mhz einen Verbrauch von "1" hat, entspricht der Verbrauch von 1200mhz z.B. "12", ohne dass man die Spannung dabei berücksichtigt. Diese kommt noch zusätzlich dazu! Das bedeutet also, dass 100mhz sparsamer sind als 200mhz, auch wenn sie die selbe Spannung (mV) haben! Die Faktoren 1-12 bedeuten allerdings nicht, dass z.B. 200mhz doppelt so viel Strom ziehen wie 100mhz, oder 1200mhz gar das 12 Fache von 100mhz, so einfach ist das nicht. Sie dienen nur als Beispiel. Kommen wir nochmals zurück aufs Musik hören: Ich höre jetzt 2h Musik, und da beim Musik hören 100mhz ausreichen, verbringt das Tel auch die meiste Zeit davon in diesem Bereich. 100mhz haben eine etwas niedrigere Spannung als 200mhz und haben auch den Fator "1". Wenn ich nun also 2h auf 100mhz verbringe statt auf 200mhz, habe ich 2h auf einer etwas niedrigeren Spannung und einem niedrigeren Faktor verbracht. In der Theorie also etwas gespart, wenn vllt. auch nur minimal.


    Standartmässig ist bei den meisten Kernel der ondemand Govenor eingestellt. Meistens beinhaltet der ondemand noch die ondemandx oder intellidemand Tweaks (intelligentere Skalierung, bei Bildschirm aus max. Frequenz 500mhz u.a.) Entweder steht das, oder man muss es auf github selber nachschauen. Vorteil von ondemand ist meiner Meinung nach, dass es keine Lags gibt. Der Nachteil ist, dass er manchmal etwas zu schnell zu hoch taktet, und so unnötig Leistung verbraten kann, jenachdem wie der ondemand eingestellt ist. Wer nicht lange experimentieren will, sollte die Einstellungen einfach so lassen wie sie sind, der Kerneldev hat sich schon überlegt, warum die eingestellten Werte Standart sind! Wer eine intelligente Skalierung der Frequenzen haben möchte, benutzt am besten den ondemand Govenor. Was Effizienz angeht, ist der ondemand sehr gut. Ein Beispiel wenn man die 100er Steps beim Siyah aktiv hat, was Standartmässig so eingestellt ist: Ein Prozess braucht 600mhz um effektiv verarbeitet zu werden, der ondemand merkt das und skaliert auf diese Frequenz. Ohne die 100er Steps würde der Govenor warscheinlich auf 800mhz takten, ob der Prozess mit 800mhz nun etwas schneller verarbeitet wäre oder nicht, lassen wir mal aussen vor. Tatsache ist jedoch, dass 800mhz etwas mehr Strom benötigen als 600mhz und zudem einen höheren Faktor haben. In der Theorie also etwas gespart. Es kommt nicht auf einzelne Prozesse an, sondern auf die Gesamtsumme.


    lulzactive
    Der lulzactive gehört ja zu den interactive basierenden Govenors, die "erahnen" sollen, wann Leistung benötigt wird. Im Unterschied zum ondemand, der Leistung gibt wenn sie gebraucht wird. Wenn man wirklich alle Steps nutzen möchte die die Tabelle zu bieten hat, sind die oben genannten Einstellungen ganz gut. Um etwas mehr Performance, und unnötige Skalierungsvorgänge zu vermeiden, sollte man besser up 2 und down 2 oder gar 3 bei beiden verwenden. Denn wenn Leistung benötigt wird, kann es bei den 1er Schritten zu Verzögerungen und Lags führen. Ein Beispiel: Die CPU taktet auf 500mhz sobald man den Bildschirm berührt, dann öffnet man z.B. den Play Store, der die CPU nun mal dazu bringt auf 1200mhz zu skalieren und meistens auch der zweite Kern anspringt. Wenn man bei den "pump_up:step nun ne "1" drin hat, skaliert die CPU also 7 mal einen Schritt nach Oben. Jenachdem welchen Wert man bei der "up_sample_time" hat, kann es also etwas dauern bis die 1200mhz erreicht werden und daher zu Verzögerungen führen. Wird die "up_sample_time" nun alle 20000 mikrosekunden (20ms) abgefragt, ist die CPU also in ca. 140ms auf 1200mhz. Die Zeit ist jetzt vielleicht kein so grosser Faktor, es kann aber trotzdem zu kleineren Lags, oder "Hakeln" kommen. Viel mehr finde ich diese 7 Schritte an sich unnötig, da die meisten Frequenzen gar nicht wirklich genutzt, sondern durch den User gezwungenermassen durchskaliert werden. Ich habe Tests gemacht mit pump_up 2 und 3, ebenfalls bei pump_down 2 oder 3. Tatsache ist und bleibt, es gibt dann einfach die oft benutzen Frequenzen im Abstand von 2, bzw. 3 Schritten und der Rest bleibt oft unbenutzt. Man schreibt der CPU also ihr Skalierungverhalten vor. Ich fand das lange Zeit super, doch im Moment teste ich den ondemand wieder etwas aus, da ich egal mit welchen Einstellungen vom lulzactive immer wieder kleinere Lags im Store beim scrollen hatte, sowie bei der Aufnahme von Videos in 720p sowie 1080p. Die Videos waren völig unbrauchbar! Mit der up_sample_time von 10000 gab es temporär etwas besserung, aber irgendwann kamen die Lags zurück. Der ondemand hat diese Probleme nicht.


    SHED_MC:
    SHED_MC gibt es die Einstellung "0" (Samsung default = kein Einfluss) "1" (Der erste Kern wird zuerst belastet, der zweite dann bei höherer Belastung zugeschaltet) und "2" (Beide Kerne werden abwechselnd ab und zugeschalten) Ich habe hier die "1" aktiv, da das abwechselnde zu und abschalten von "2" zu höherem Verbrauch führen kann. Wenn man die Standart Einstellung von Hot Plug verwendet, also weder nur Singelcore oder nur Dualcore, muss man an dieser Einstellung eigendlich nichts verändern, da es das Hot Plug Profil von selbst regelt. Ich habe SHED_MC "1" mal zugeschaltet und mal nicht, und konnte dabei nicht wirklich einen Unterschied im Verhalten des zweiten Kerns erkennen.


    Ich will und kann euch keine Tipps geben welchen Kernel ihr nehmen sollt. Probiert sie aus, schaden kanns nicht! Jeder hat seine eigenen Kriterien was ein Kernel bewirken soll. Längere Akkulaufzeit, bessere Performance, besseres Touchverhalten, Dual Boot usw. Lest euch die Kommentare durch was andere User berichten und entscheidet dann. Ich würde pro Kernel sicher mal nen Tag investieren. Ihr solltet halt darauf schauen, dass ihr beim testen immer etwas dasselbe Nutzungsverhalten an den Tag legt, und auch genau drauf schaut wie lange der Bildschirm an war. Vielleicht hat ein Kernel eine Laufdauer von 20h mit 3h Bildschirm an, der nächste hat nur 18h, dafür aber mit 4h 30min Bildschirm an. Das ist sehr wichtig zu beachten!! Ein Beispiel nenne ich jetzt aber doch, der Siyah braucht im Deep Sleep sehr wenig Strom, da kann ihm kaum ein anderer Kernel was, dafür saugt er dann etwas mehr bei Benutzung. Hier gibt es noch einen guten Thread zum Thema Kernel und deren Verbrauch: klick Der OP des Threads nutzt eine AOKP Rom, ihr müsst einfach darauf schauen, dass ihr nur Hybrid Kernel, also Kernel welche unter AOSP/AOKP UND Samsung (Stock) laufen nehmt!! Der Fokus liegt dort also mehr auf AOSP/AOKP, aber es werden auch Hybriden getestet.


    Kernel Tools:
    Extweaks, Voltage Control, lulzactive, Set Cpu, NSTools, usw.


    Diese Tools sind dazu da, spezielle Einstellungen wie mV per Taktfrequenz, Govenor, Sheduler, Hot Plug Modus, Vibrationsintensität, wann der zweite Kern zugeschaltet wird usw. am Kernel vorzunehmen.


    Hier noch zwei sehr wichtige Links zum Thema Govenors und Sheduler:
    FAQ Govenors u. Sheduler
    Tweaks für Govenor, Sheduler u.a.


    Da in den oben genannten Links alles zum Thema Gov und Sheduler drin ist, erspare ich mir hier ein copy & paste, von dem ich sowieso kein Fan bin, da ich lieber selber schreibe. Doch besser kann man es gar nicht verfassen, also lass ich das :)


    Von Overclock halte ich Persönlich gar nichts! Im Alltag machen sich 1400mhz oder 1600mhz nur negativ im Akkuverbrauch bemerkbar. Wer also keine Potenzverlängerung im Benchmark braucht, sollte das besser lassen. Underclock finde ich jedoch durchaus praktisch, da man so die Laufzeit deutlich verlängern kann. Ich selber betreibe kein UC, wenn ich jedoch länger keine Steckdose in Aussicht habe, und weiss dass ich das Tel brauche, würde ich es aber in Betracht ziehen.


    Aktuelle Testwerte


    pegasusq:
    Der pegasusq(d*) ist ein ondemand basierender Govenor. Er unterscheidet sich in dem Sinne vom ondemand, weil er auf multi CPU ausgelegt ist. Also Dualcore, Quadcore usw. Der Govenor hat seine eigenen Hot Plug Einstellungen. Hot Plug bezeichnet man das Verhalten des zweiten Kerns, also wann er zugeschalten wird, wie lange er bei Abfall der Leistung noch eingeschaltet bleibt usw. Hot Plug Einstellungen die in ExTweaks eingestellt sind, werden beim pegasusq automatisch deaktiviert, und reaktiviert sobald man wieder auf einen anderen Govenor wechselt. Meine pegasusq Einstellungen sehen so aus:


    sampling_rate: 40000 / Wie oft die CPU abgefragt wird, um zu entscheiden ob nach Oben oder Unten skaliert wird.


    up_threshold: 90 / Grenzwert, ab dem hochskaliert wird


    sampling_down_factor: 2 / Dient als Multiplikator des "sampling_rate" Wertes, um zu entscheiden wie schnell nach Neuberechnung der aktuellen Auslastung bei Vollast runter skaliert wird. "1" bedeutet "sampling_rate = "sampling_down_factor", jede andere Zahl multipliziert die 400000 mikrosekunden. Dieser Wert gilt nur für die oberen Frequenzen, oder hoher Auslastung. Beachte dass die CPU automatisch auf "max frequency" skaliert, wenn "max_load_freq" grösser ist als "up_threshold" x "current frequency". "max_load_freq" ist ein willkürlicher Wert, der aus "maximum of load_frequencies" berechnet wird. "load_frequency" ist auch ein willkürlicher Wert, welcher die Frequenz beschreibt, bei der das Gerät theoretisch mit 100% Auslastung umgehen kann, errechnet aus "load" x "average_frequency" (Durchschnitts-Frequenz)


    ignore_nice_load: 0 / Auf "1" werden "low-level prozesse" beim skalierien ignoriert.


    io_is_busy: 0


    down_differential: 5 / Nachdem die Zeit von "sampling_rate* x "sampling_down_factor" verstrichen ist, wird Versucht eine niedrigere Frequenz zu wählen, welche aber nicht den "up_threshold" (85%) bei der nächsten Abfrage auslösen wird. Das "down_differential" ist auch dazu da, dass nicht zu schnell herunterskaliert wird. Gerechnet wird Folgendermassen: "Max_load_freq" (bei mir 1200mhz) wird gegen (up_threshold - down_differential) x "current frequency" (aktuelle Frequenz) gerechnet.


    freq_step: 40 / 20!! / Definiert um wieviel Prozent der "max_frequency" hochskaliert werden soll, wenn die Auslastung den "up_threshold" erreicht. Mein Wert entspricht "20" = 1200mhz/100x20 = 240mhz. Das heisst, wenn bei 200mhz die 90% erreicht werden, skaliert die CPU 240mhz hoch, gerundet auf 100 = 300mhz = 500mhz entspricht dann der nächsten Frequenz. Der Wert von "40" scheint mir viel zu hoch, denn das würde bedeuten, dass sobald der up_threshold erreicht wird, die CPU 480mhz aufwärts skaliert, was auf 100er gerundet 500mhz entspricht! Man merkt die Ausprägung dieser 300mhz teilweise stark in CPU Spy, die werden mehr benutzt als die restlichen Schritten, je nach Nutzung natürlich. Die CPU kann ja auch in 100er Schritten skalieren, man ist nicht immer sofort von 200mhz auf 800mhz. Vorallem beim runter skalieren werden jegliche Frequenzen genutzt.


    cpu_up_rate: 10 / Anzahl der Abfragen um die Auslastung beim hoch skalieren zu berechnen. Sobald die Abfragen für eine Frequenz ausgeführt wurden, wird die "scale-up logic ausgeführt. Bevor die CPU hoch skaliert wird, bleibt die CPU auf "cpu_up_rate" x "sampling_rate" in Mikrosekunden auf der jeweiligen Frequenz.


    cpu_down_rate: 20 / Anzahl der Abfragen um die Auslastung beim runter skalieren zu berechnen. Sobald die Abfragen für eine Frequenz ausgeführt wurden, wird die "scale-down logic" ausgeführt. Bevor also runter skaliert wird, bleibt die CPU auf "cpu_down_rate" x "sampling_rate" in Mikrosekunden auf der jeweiligen Frequenz.


    max_cpu_lock: 0 /


    hotplug_lock: 0 /


    dvfs_debug: 1 / "1" schaltet Govenor debugging ein.


    hotplug_freq_ 1 1: 600000 / Schwelle ab wann der zweite Kern beim hoch skalierien zugeschaltet wird, wenn folgende Bedingungen auch erfüllt sind: ("minimum frequency" ist grösser oder gleich "hotplug_freq 1 1" und die Länge von "average_runque_minimum" grösser ist als "hotplug_rq_1_1") = Hot Plug IN second core.


    hotplug_freq_ 2 0: 500000 / Schwelle ab wann der zweite Kern beim runter skalieren wieder ausgeschaltet wird, wenn folgende Bedingungen erfüllt sind: ("maximum frequency" ist weniger als "hotplug_freq 2 0" und die Länge von "average_runque__maximum" grösser oder gleich "hotplug_rq_2_0") Hot Plug OUT second core.


    hotplug_rq :1 1: 300 / Schwellenwert für die Lauflänge der Warteschlange bis der zweite Kern zugeschaltet wird.


    hotplug_rq: 2 0: 350 / Schwellenwert für die Lauflänge der Warteschlange bis der zweite Kern ausgeschaltet wird.


    up_threshold_at_min_freq: 95 / Erklärt sich von selbst


    freq_for_responsiveness: 10000 / Bis zu dieser Frequenz wird der up_threshold_at_min_freq als Trigger genutzt (95%). Danach löst der up_threshold den Trigger zum hoch skalieren aus (90%) Diese Frequenz wird auch dazu genutzt, um der CPU beim runter skalieren zu helfen die beste Frequenz zu finden. Eine, die beim nächsten Abfragen den "up_threshold" nicht sofort wieder auslöst. Bei der Auswertung der CPU Spy Kurven und tracken per "Cool Tool" hat sich herausgestellt, dass mit diesen Einstellungen nur die "grossen" Sprünge gemacht werden. Nach 100mhz kommt 400mhz, 700mhz usw. (freq_step: 20%), die anderen Frequenzen werden nicht genutzt. Ich hab diesen Werl nun wieder auf 100000 (100mhz) gestellt und würde euch raten, dies auch so zu machen.


    QUELLE


    Alles absolut smooth bei mir. Experimentiert mit diesen Einstellungen herum und findet was euch passt :)


    Meine Settings:
    Kernel: Siyah 3.2.5.2
    Govenor: pegasusq
    Sheduler: SIO
    Frequenzen: 100-1200mhz in 100er Steps
    Kein CPU Undervolt
    GPU: 66/160/267


    Und nun viel Spass! Bei Fragen und Unklarheiten, meldet euch :)


    hells

  • Hallo.
    Coole Übersicht!
    Welches is der Akkuschonendste?


    Greez


    Schweizer Game Community --->www.weekingz.com <----


    First ROM: Sakashi Mod MS5(4.0.4) Update2 Second ROM: Miui 2.4.27 Kernel: Siyah-v3.2 Baseband-Version: I9100XXLPQ


    Wenn 4 Personen in einem Raum sind und 5 wieder raus gehen, muss 1 reingehen, damit niemand drinnen ist. Ja Freunde, das ist Mathematik...

  • Danke :)


    Wie bereits oben erwähnt, ist es schwierig da einen zu nennen. Die einen sagen der Voku sei sparsam, andere schwören auf den N-E-A-K... Im Gebrauch ist der Siyah sicher nicht der akkuschonenste, von daher fällt der sicher weg. Versuchs mal mit dem Voku oder dem N-E-A-K.


    hells

  • Okey, thx. Werds mal mit dem NEAK probieren.
    MFG JayZfaro


    Gesendet von meinem GT-I9100


    Schweizer Game Community --->www.weekingz.com <----


    First ROM: Sakashi Mod MS5(4.0.4) Update2 Second ROM: Miui 2.4.27 Kernel: Siyah-v3.2 Baseband-Version: I9100XXLPQ


    Wenn 4 Personen in einem Raum sind und 5 wieder raus gehen, muss 1 reingehen, damit niemand drinnen ist. Ja Freunde, das ist Mathematik...

  • Und wenn du wirklich mehr Wert auf Batteriesparen legst als auf Performance, dann stell bei dir den Gov. auf conservative.


    hells

  • Hallo Zusammen


    Ich habe den MIUI Kernel mit Build vom 270412.
    Würde gern mal ein anderer Kernel ausprobieren. Habe an S2Mod Kernel(ist nicht in der liste) gedacht.
    Wie kann ich wieder auf original MIUI zurück oder besser gesagt wo finde ich den original Kernel von MIUI.


    Danke in Voraus


    Gruss
    Michele

  • Wenn du wieder auf den Original Kernel zurück möchtest, musst du Miui einfach nochmals ohne wipe drüberflashen.


    edit: Kjetal von Android Hilfe hat Kontakt zu gm (Dev des Siyah) Ich habe ihn gebeten, gm zu bitten sich den Miui Stock Kernel anzuschauen, und eventuelle Änderungen in seinen Kernel zu übernehmen. Infos folgen, sobald ich ne Antwort habe!


    hells

  • 06/05/2012 und 07/05/2012 Beobachtungen hinzugefügt. Ich werde immer wieder solche Bemerkungen hinzufügen und dann mit der Zeit den Thread etwas überarbeiten / ergänzen.


    hells

  • Überarbeitung des Textes und ne kleine Anmerkung zum Govenor "lulzactive" von heute hinzugefügt :)


    hells

  • Hey Siriusblack,


    Einen Tag komme ich gut durch, je nach Nutzungsverhalten liegen aber auch mal 1.5 Tage drin. Ich habe viel experimentiert, für mich aber nie wirklich einen Kompromiss zwischen Performance und Verbrauch gefunden. Irgendetwas hat immer gehakt, entweder die Videos, das Scrollen, der Homescreen usw. und ich lege nun mal viel Wert auf ein flüssiges Verhalten. Ich habe die Settings auf CM9 wie auch Miui getestet. Miui hakt ja sowieso noch etwas an gewissen Stellen, also hab ich es auch unter CM9 getestet, wo absolut nichts hakt mit den richtigen Einstellungen. Schlussendlich bin ich wieder beim ondemand gelandet...


    Es ist halt die Frage was man will. Will man einen interaktiven Gov, der "erahnt" wann man Leistung braucht, oder will man einen ondemand basierenden Gov, der erst skaliert wenn man die Leistung braucht. Liegt man Wert auf eine gleichmässig genutzte Frequenztabelle, will man der CPU "vorschreiben" in welchen Stufen sie skalieren soll, oder soll das die CPU selber regeln usw.


    Wer es der CPU überlassen will, der soll zu ondemand basierenden Govs greifen, auch die kann man anpassen, und sind sowieso sehr effizient!


    Natürlich kann man mit den "richtigen" Einstellungen noch etwas rausholen, doch Wunder würde ich nicht erwarten. Mir genügt einen Tag, auf diesen kam ich mit ziemlich jedem Gov, ausser man tümpelt permanent mit beiden Kernen aktiv rum :crazy:


    Der Siyah ist dafür bekannt, dass er bei gebrauch etwas mehr zieht. Da kann man machen was man will... Ich bin im Moment grad mit dem fluxi Kernel unterwegs, der geht allerdings nur unter AOSP, was ich auch primär nutze. Wer also ein AOSP Rom nutzt, dem kann ich diesen Kernel SEHR empfehlen! Sobald chillzz sein Miui auf CM9 Basis raushaut, wird dort sowieso der fluxi Kernel drin sein.


    Lange rede kurzer Sinn: Experimentieren... Ich hab mind. ne Woche lang, oder gar länger, jegliche Settings ausprobiert, das Verhalten studiert, protokolliert und mir die ersten grauen Haare ausgerissen :crazy:


    Die Akkulaufzeit ist nunmal (noch) ein Knackpunkt, auch unter den Stock Roms. Leider ist noch nicht bekannt, ob ICS allgemein mehr zieht, oder ob die Ursache im Entwicklungsstadium liegt. Meine genannten Tipps können etwas zu der Laufzeit beitragen, aber eben leider keine Wunder vollbringen...


    Kleine Anmerkung am Rande: Man wird mich bald schon im SGS3 Bereich wiederfinden ;)


    hells

  • pegasusq etwas erläutert mit meinen aktuellen Settings. Ich bin sehr begeistert von diesem Govenor...! :) Schaut ihn euch mal an!


    hells

  • Da sich der opener immer mehr füllt, und ich schon einmal die 20.000 Zeichen überschritten hab, wird dieser Beitrag hier ab sofort als "Aktuelle Testwerte" u. Beobachtungen dienen. Ich werde diesen Beitrag im Opener verlinken.


    Seit ein paar Tagen ist der pegasusq(d) eines der grossen Gesprächsthemen. Im Opener habe ich bereits einige Angaben erklärt, daher werde ich hier nicht näher darauf eingehen. Im Siyah Thread bei xda hat der User "AndreiLux", der für seine Messwerte bekannt ist, seine Settings vom pegasusq Govenor gepostet. Er kam damit über etwas mehr als 2 Tage Laufzeit. Wichtig zu beachten, er hat sein SGS2 auf 1000mhz gedrosselt, sodass seine Werte für ein auf 1200mhz laufendes SGS2 meiner Meinung nach nicht zu 100% übernommen werden sollten. Seine Werte sehen folgendermassen aus:


    Sampling rate 40000ms
    up threshold 90
    down sampling 2
    down diff 5
    cpu up/down rate 10/20
    freq_step at 30%
    hotplug up/down frequencies 400MHz/200MHz
    runqueues up/down 350/200
    up thres at min freq 95
    freq for responsiveness 100MHz


    LINK


    Wer den aktuellsten Siyah (3.2.6) auf dem pegasusq laufen hat, der wird mit diesen Settings unterwegs sein. Ich habe diese Settings auch mal getestet und beobachtet, sehe jedoch nicht ein, dass der zweite Kern schon so früh zugeschalten wird (300mhz). Grundsätzlich lässt sich sagen, dass unsere CPU effektiv bis 800mhz im Singelcore Modus läuft, danach erst wird der Verbrauch per Frequenz wirklich hoch. Warum müssen beide Kerne laufen während man den Homescreen wechselt, oder Anwendungen ausführt die kaum Leistung brauchen. Dualcore braucht im Unterschied zu Singelcore 55% mehr Strom. Ich habe mir gedacht, dass ich im unteren Bereich lieber mit einem Kern unterwegs bin, und erst ab 600mhz den zweiten Kern zuschalten lasse. Meine Werte stehen zwar schon im opener, hier aber nochmals:


    sampling_rate: 40000
    up_threshold: 90
    sampling_down_factor: 2
    down_differential: 5
    freq_step: 20
    cpu_up_rate: 10
    cpu_down_rate: 20
    hotplug_freq_1 1: 600000
    hotplug_freq_ 2 0: 500000
    hotplug_rq :1 1: 300
    hotplug_rq: 2 0: 350
    up_threshold_at_min_freq: 95
    freq_for_responsiveness: 100000


    Ein weiterer Unterschied bei mir ist, dass ich "freq_step" auf "20" habe, was 20% von 1200mhz = 240mhz, gerundet auf 100er also 300mhz Sprünge beim auslösen des "up_threshold" bei 90% Auslastung entspricht. Der zweite Kern wird bei mir ab 600mhz zugeschaltet, ab einer Auslastung von 30%. Diese 30% beziehen sich allerdings nicht auf die Auslastung eines Kerns, sondern Gesamthaft. Ich habe das Gefühl, dass der Wechsel zwischen Singel u. Dualcore so sehr fliessend ist. Immer wieder schaltet sich der zweite Kern kurz ein, sobald die Leistung abflacht wieder aus, bleibt aber ann wenn die Leistung gebraucht wird. Kein Ruckeln und der Verbrauch sieht in meinen Augen auch nicht schlecht aus. Fast schade dass mein SGS3 wohl bald kommen wird, und ich doch so Freude daran habe, vielleicht die optimalen Werte für mich beim SGS2 gefunden zu haben. Beim SGS3 fängt dann alles wieder von vorne an :crazy:


    Der pegasusq ist KEIN Wunderkind! Es ist ein ondemand basierender Govenor, und man kann sein Verhalten zielich genau mit einem ondemand erreichen. Man muss nur die Werte etwas anpassen, und der ondemand sollte sich gleich, oder zumindest sehr ähnlich wie der pegasusq verhalten.


    Seit ein paar Tagen habe ich bei ExTweaks die GPU in 3 Steps geteilt: Step1: 66mhz@850mV Step2: 160mhz@900mV Step3: 267mhz@950mV - Threshold 1 UP: 85% Threshold 2 DOWN: 30% Threshold 2 UP: 85% Threshold 3 DOWN: 50% - Staycount 0/1/1.


    hells

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!