Ciao foro,
ho notato che molti utenti ignorano la potenza che possa avere un kernel modificato arricchito con tanto governor. Così mi è venuto in mente di creare questa guida per iniziare a spiegare cosa sia un governor e quali siano quelli esistenti. premetto che se qualcuno, oltre quelli che elencherò ne conosce altri può scrivere un post qui sotto con la descrizione del "suo" governor e io la inserirò nella lista. inoltre chiedo ai moderatori di mettere questa guida in primo piano perchè molto utile per tutto il forograzie
Il kernel è il vero motore del sistema operativo come lo è il bios per il computer. Esso impartisce degli schemi che poi il sistema deve rispettare. tra questi ordini o schemi abbiamo anche il funzionamento della cpu con il così detto scaling delle frequenze. Per scaling delle frequenze si intende il modo in cui il kernel( che per android è Linux) regola dinamicamente la frequenza della CPU in base all’utilizzo del nostro dispositivo. Questi schemi in questo caso vengono chiamati appunto governor,ovvero "governano" il variare delle frequenze della cpu e gpu.
Ondemand
E' il governor di default in quasi tutti i kernel stock. Uno dei suoi principali obiettivi è, passando rapidamente alla frequenza massima non appena la CPU rileva un attività, quello di garantire una buona reattività del sistema. Il suo funzionamento non prevede una valutazione del carico di lavoro quindi, appena sollecitato, tende a far salire la CPU in modo immediato alla massima frequenza per poi diminuire gradualmente in stato di inattività. Anche se viene considerato un governor equilibrato, non è particolarmente indicato per l'autonomia nel suo settaggio predefinito.
Uno dei motivi principali per cui il governor ondemand non è parsimonioso di batteria, è il fatto che, decide il prossimo step di frequenza nell'istante di richiesta dell' intervallo di campionamento (detto sampling rate). Nell'istante di richiesta, può rispondere velocemente al cambiamento di carico di lavoro, senza calcolare la richiesta reale di utilizzo della CPU e quindi provocare frequenti passaggi dalla frequenza min-max e viceversa.
Conservative
è un ondemand rallentato, poichè scala le frequenze più lentamente risparmiando batteria. Si differenziadal precedente perchè, incrementa la frequenza in base al carico della CPU senza saltare direttamente alla frequenza massima, per poi decrementarla velocemente in caso di inattività.
Interactive
Può essere considerato un ondemand molto veloce, quindi più reattivo e di conseguenza meno parsimonioso di batteria. Questo governor è stato realizzato per avere maggiore reattività e prestazioni con i vari carichi di lavoro interattivi. A differenza dell'ondemand non varia le frequenze in base ad un intervallo di campionamento, ma le determina in modo continuativo fino a quando la CPU non smaltisce il suo carico di lavoro.
I vantaggi di questo governor sono i seguenti: 1) Scala le frequenze in un modo più lineare. In genere, gli altri governor, gestiscono il carico della CPU in base al lavoro, interactive invece lo gestisce in base al tempo di richiesta, facendo lavorare la CPU in un modo più uniforme. 2) Ottima fluidità del sistema e dei contenuti multimediali. A differenza di un governor tipo l'ondemand, che potrebbe risentirne sul fatto di cercare continuamente (in base al intervallo di campionamento) di adeguarsi al carico di lavoro, l'interactive mantiene costantemente la frequenza necessaria fino alla fine del carico di lavoro, guadagnando un frame rate più lineare.
Interactivex
Si tratta di un interactive con l'aggiunta del profilo screen off, naturalmente l'obbiettivo è quello di ridurre i consumi della batteria durante i momenti di inutilizzo a schermo spento.
Interactivex V2
E' l'Interactivex e con lo schermo spento disattiva automaticamente la cpu1
Smartass
si basa su Interactive, ma con alcune modifiche che gli permettono di mantenere frequenze minime quando il telefono è inattivo.
SmartassV2
E’ uno smartass modificato ed è uno dei governor più usati. Questo governor scala verso il basso la cpu molto velocemente mentre lo schermo è spento, e scala rapidamente verso l’alto fino a 500 mhz quando lo schermo si accende. Non c'è un limite superiore per la frequenza mentre lo schermo è spento. Questo governor mira a una "frequenza ideale", per cui scala in maniera più aggressiva nei confronti di questa frequenza e in maniera meno aggressiva dopo. Esso utilizza diverse frequenze ideali per lo schermo acceso e per lo schermo spento, che sono awake_ideal_freq e sleep_ideal_freq, garantendo così un equilibrio tra prestazioni e durata batteria.
BrazilianWax
funzionalmente simile allo Smartass ma ha un cambio di frequenza più rapido.
SavagedZen
è come lo Smartass ma con alcune modifiche apportate che gli consentono di ottenere sia buone prestazioni sia un consumo non eccessivo della batteria.
Userspace
consente di impostare manualmente le frequenze, di solito poco usato.
Powersave
Con Powersave viene impostata sia la frequenza massima che quella minima al minimo valore possibile, anche se è ottimo per i consumi, non è consigliato per l’uso quotidiano, in quanto il processore non riuscirà a raggiungere le frequenze richieste e necessarie per un giusto e godibile uso del vostro device.
Performance
è l’opposto di Powersave. Imposta la frequenza minima uguale a quella massima in modo che il telefono risulti sempre alla massima potenza. Per ovvie ragioni non può essere utilizzato nell’uso quotidiano, la batteria ne risentirebbe troppo, di solito è usato quando il telefono è in carica o è collegato al pc.
Lulzactive
Basato sui governor interactive e smartass, tende ad essere il governor preferito da molti.
Quando il carico di lavoro è maggiore o uguale al 60%, fa salire le frequenze della cpu immediatamente allo step successivo. Quando il carico di lavoro è inferiore al 60%, abbassa immediatamente le frequenze della cpu allo step precedente. Quando lo schermo è spento, la frequenza è bloccata alla frequenza minima. Nella nuova versione sono stati aggiunti dei paramentri modificabili ma il funzionamento è lo stesso
Lazy
Fondamentalmente un ondemand con il parametro aggiuntivo min_time_state che stabilisce un tempo minimo in cui la cpu permane su una determinata frequenza prima di passare a frequenze più basse o più alte. L’idea è quella di eliminare le instabilità causate dalla rapida commutazione di frequenza di ondemand. Ha anche un parametro screenoff_maxfreq che può essere configurato per specificare la max frequenza mentre lo schermo è spento.
Lagfree
Simile a ondemand. La differenza è l'ottimizzazione che lo rende maggiormente battery friendly. La frequenza diminuisce o aumenta gradatamente, a differenza di ondemand che salta al 100% troppo spesso. Lagfree non salta le frequenze durante lo scaling verso l'alto o verso il basso.
Ondemandx
Sostanzialmente è un ondemand con l'aggiunta del profilo screen off. Questo governor nasce con l'obbiettivo di avere le caratteristiche dell' ondemand ma con un occhio di riguardo per la batteria, grazie alla limitazione della frequenza massima di 500mhz che viene applicata a schermo spento.
Intellidemand
(alias intelligente Ondemand) e un governor che si basa su ondemand e che non salta mai alla massima frequenza quando lo schermo è spento. L’intellidemand originale si comporta in modo diverso in base all'utilizzo della GPU. Quando la GPU è veramente occupata (giochi, mappe, benchmarking, ecc) intellidemand si comporta come ondemand per offrire buone prestazioni. Quando la GPU è a riposo o moderatamente occupata, intellidemand entra in “browsing mode” (modalità di navigazione) e limita la frequenza massima per risparmiare la batteria.
Lionheart
E’ un Conservative pesantemente modificato: ha un’up-threshold bassa (circa 60) e una sampling_rate (frequenza di campionamento) più bassa possibile . Il motto di Lionheart è la reattività estrema, le prestazioni e la scorrevolezza, anche a costo di un maggiore dispendio della batteria.
Smoothass
Si basa sullo Smartass ma con alcune modifiche, infatti presenta una rampa di salita e discesa più pendente (alta), quindi più prestazioni subito ma un minore cosumo di batteria.
Scary
Basato sul Conservative (il quale ha rampa più lenta di Ondemand), ma ha poi in sè alcuno elementi di Smartass che gli permettono di avere una rampa molto veloce.
E' in pratica un misto tra Conservative e Smartass.
Minmax
Basato sul Conservative, viene considerato uno dei migliori, prestazioni e la reattività sono molto elevate.
Wheatley
Questo governor non è altro che un Ondemand modificato, per avere buone prestazioni ma senza un consumo eccessivo della batteria.
Hotplug
E' simile all'ondemand, ma scala le frequenze della CPU in base al carico. A schermo spento dovrebbe disattivare un processore. Prestazioni eccellenti e consumo di batteria davvero basso.
Hotplugx
E' un Hotplug modificato e ottimizzato per la sospensione in screen-off
AbyssPlug
E' un Governor derivato dall'Hotplug, funziona alla stessa stregua, ma con all'interno delle modifiche per un miglior risparmio della batteria.
Pegasusq/Pegasusd
Questo governor è stato creato appositamente da samsung per il suo Galaxy S3, poi adattato e modificato anche per funzionare su altri smartphone grazie ad alcuni utenti di XDA. Questo governor è adatto solo per i terminali multi-core (dual-core, quad-core, octa-core...) e permette di far lavorare ogni core in modalità asincrona. Ad esempio, un processore può lavorare ad una frequenza di 1300 Mhz mentre l'altro a 600 Mhz,tutto in base ovviamente al carico di lavoro che deve supportare il telefono. Immaginate i benefici in termini di prestazioni e di durata di batteria.
Slp
è una versione ottimizzata di PegasusQ che, quando sono attivi entrambi i core, lavora con frequenze sincrone.
NeoX
è un'altra versione ottimizzata di PegasusQ, proveniente dal Note 2.