Galaxy Nexus e LeanKernel: consigli su come ottimizzare prestazioni ed autonomia.

galaxy nexus e leankernel

 Gli utenti più smaliziati sicuramente conosceranno le potenzialità ed i segreti dei vari custom kernel. Sicuramente scegliere i giusti settaggi, permette di agire in maniera profonda su diversi parametri e, per farla molto breve, tra le varie cose, di scegliere se puntare tutto sule performance o sull’autonomia. Questa non vuole essere una vera e propria guida, ma, come da titolo, una serie di piccoli consigli, forse banali per i più esperti, derivati dall’esperienza, dopo intensi e produttivi “smanettamenti”. Fatta questa doverosa premessa, nella speranza di fare cosa gradita a quanti magari non conoscono questo “lato oscuro” del caro robottino verde, apriamo le danze.

Galaxy Nexus e LeanKernel: ottimizzare prestazioni ed autonomia

PREMESSE:

I settaggi e gli esempi sono basati sul LeanKernel, ma praticamente, essendo cose di carattere generale, tutto è applicabile (naturalmente se supportato) con la maggior parte dei custom kernel disponibili.  Per la gestione del kernel, si consiglia di utilizzare l’app Trikster Mod disponibile sul Play Store.

PARAMETRI:

  • Controllo congestione tcp: è una funzione di controllo di trasmissione da parte di Tcp (un protocollo di rete a pacchetto) che consente di limitare la quantità di dati a pacchetto adattando il flusso di dati inviato all’eventuale stato di congesione della rete, evitando la congestione della rete stessa. Esistono ovviamente diversi Tcp e chiaramente sarebbe prolisso oltre che complicato elencarne qui il funzionamento. Buoni risultati si ottengono con Tcp new reno e con Tcp Westwood, basato sul precedente. Questi Tcp risolvono i problemi di perdite di dati non causate da congestione con un sistema di Ack parziali (Ack con riscontro di pacchetti intermedi), migliorando quindi i problemi che si riscontrano, nelle stesse situazioni, utilizzando un Tcp Reno che, in caso di perdita di più pacchetti di dati, causa un peggioramento della velocità di trasmissione da parte di Tcp.  Quindi imposteremo in tale parametro la voce Westwood.
  • Scheduler: è una lista. Praticamente è un algoritmo che stabilisce un ordine temporale di esecuzione di una serie di richieste di accesso ad una determinata risorsa. In sostanza lo scheduler è la gestione degli input-output da parte del kernel. Senza perdersi in dettagli troppo tecnici, saranno descritti gli scheduler più utilizzati. NOOP: inserisce tutte le richieste in una coda semplice, una vera e propria lista. garantisce grande fluidità del sistema. SIO: è uno scheduler basilare, spesso quello stock. ha lo scopo di mantenere una bassa latenza cioè il tempo tra l’emissione e la soddisfazione della richiesta. CFQ: ordina le richieste in diverse code per tipo ed assegna ad ogni coda di richieste un intervallo di tempo dipendente dalla priorità data ai processi. DEADLINE: fissa una scadenza (deadline) per tutte le richieste in modo da evitare che alcune richieste attendano in eterno quando processi a bassa priorità rimangono in coda. Molto fluido ma meno del noop. ROW: è attualmente il migliore, più adatto a dispositivi mobili come gli smartphone. Dà la priorità a tutte le richieste di lettura piuttosto che di scrittura, offrendo una miglior gestione dei vari processi. Consiglio di impostare il ROW come scheduler.
  • Buffer size: Caricare di lavoro la cpu o bassa latenza e maggior reattività? Grosso modo è questa la domanda a cui si deve risponedere prima di toccare questo parametro. Valori più bassi determinano una minor latenza, ma un maggior carico di lavoro per la cpu, al contrario valori più alti aumentano la latenza, ma con minor sforzo della cpu. In genere ridurre troppo il valore di latenza può causare qualche problema. Il valore consigliato è 256. Abbassando a 128 si ha maggior fluidità, ma maggior carico del processore.
  • Frequenze Cpu: Qui ci sono poche presentazioni da fare. Si può scegliere di aumentare la frequenza di lavoro della cpu (oveclock) o di ridurla (downclock) e questo sia per la frequenza massima, sia per la frequenza minima, sia per la frequenza a schermo spento. In genere con un overclock si aumentano le prestazioni a scapito dell’autonomia, il viceversa avviene con un downclock. Una via di mezzo potrebbe essere quella di abbassare la frequenza massima ed aumentare la minima e la minima a schermo spento. Chiaramente anche qui valori troppo alti o troppo bassi possono causare problemi oltre che battery drain e freeze, anche di malfunzionamenti veri e propri. In genere un buon consiglio di ordine pratico è di evitare un overclock nei periodi di caldo eccessivo, tipo in estate. Si rischia di far aumentare eccessivamente la temperatura della cpu e di rovinarla. Qui il consiglio è di provare e trovare da soli valori soddisfacenti ricordando le accortezze di cui sopra. 
  • Governor: L’overclock su android è diverso dall’overclock su pc. La gestione delle frequenze è affidata al Governor, cioè un driver che regola le frequenze minime e massime della cpu. Chiaramente esistono diversi governor con diverso funzionamento, che gestiscono diversamente lo scaling delle frequenze. Si descriveranno brevemente solo quelli più consigliati e versatili per la maggior parte degli usi, premettendo che comunque la scelta del governor dipende essenzialmente dalle esigenze dell’utente, quindi rimane sempre valida la regola del “toccare con mano” per decidere quale soddisfa maggiormente. ONDEMAND: è spesso quello di default. Il più equilibrato tra autonomia-prestazioni. Privo di profili di sospensione e a volte, ma non sempre può determinare leggeri cali di prestazioni. ITERACTIVE: è un ondemand ma con uno scaling più ripido delle frequenze. Determina un leggero consumo aggiuntivo di batteria, ma garantisce prestazioni maggiori, per via del minor tempo di risposta. INTERACTIVEX: è un interactive modificato opportunamente per avere maggiore autonomia. CONSERVATIVE: come ondemand ma con uno scaling meno ripido, quindi maggiore autonomia e in generale prestazioni minori. SMARTASS: prestazioni al top, ma consumo da trattore agricolo. Consigliato solo se non si tiene all’autonomia e si vuole un missile. Nel caso del LeanKernel il migliore è l’Interactivex, modificato dallo sviluppatore del kernel, garantisce un ottimo equilibrio prestazioni-autonomia, senza cali o impuntamenti veri. In “controllo governor” si può impostare il boost a 50.
  • Gpu: è possibile overclockare la powervr del gnex intorno ad una frequenza di 384 Mhz.
  • Zram: Non offre particolari benefici sul gnex. Praticamente “comprime” parte della ram e la conserva come spazio di swap. Si può tranquillamente ignorare tale parametro.
  • Suono e vibrazionecon i kernel che lo supportano è possibile aumentare il livello di volume e quindi aggirare il problema dell’audio basso del gnex, abilitando l’opzione “suono ad alte prestazioni”. Inoltre è possibile anche aumentare il volume in cuffia e regolare l’intensità della vibrazione. (teoricamente impostando l’intensità vibrazione ad un valore più basso si dovrebbe risparmiare batteria quando si usa la vibrazione)
  • Temperatura: abbiamo detto che il calore eccessivo è nemico della cpu. Bene: è possibile limitare la massima temperatura della cpu. Valori intorno ai 40-60 gradi dovrebbero andare bene.
  • Voltaggi: Volendo andare sul sicuro si può lasciar fare tutto al controllo smart reflex impostando tutti i parametri in tale voce su ON. Anche qui si può eseguire overvolt e downvolt. L’overvolt è necessario nel caso si decida di fare overclock della cpu, mentre l’undervolt si esegue nel momento in cui si cerca maggiore autonomia, andando a diminuire la tensione elettrica di alimentazione della cpu. L ‘undervolt, se ben eseguito, può avere ripercussioni molto positive sull’autonomia, permettendo, in alcuni casi, anche di guadagnare un buon 20% di batteria in più. Va specificato che l’undervolt non inficia assolutamente le prestazioni, in quanto la cpu lavora alla stessa frequenza, ma con l’undervolt necessita di meno energia per farlo. Il rischio è che con un undervolt eccessivo si può andare incontro freeze e riavvii con relativa perdita di dati, un pò come succede al pc quando viene a mancare la corrente. Quindi, sebbene in teoria non è possibile fare dei veri e propri danni con un undervolt, farlo sconsideratamente può portare a fastidiosi crash del sistema con annessa perdita di dati non salvati, problemi che, però, spariscono revertendo le modifiche e riportando i valori nel normale range di operatività. In teoria per eseguire un buon undervolt sarebbe necessario, per ogni singola frequenza, abbassare il voltaggio fino a che il sistema non si freezi (per farlo freezare si può mettere il terminale sotto sforzo magari giocando o guardando video pesantucci per una ventina di minuti) e poi alzare un pò il limite. Ci vuole pazienza per testare piano piano tutti i voltaggi. Una volta trovati si può selezionare “set on boot” per fare in modo che vengano automaticamente impostati all’avvio. Un esempio di schema può essere il seguente: 350Mhz->825, 700Mhz ->1050, 920 Mhz -> 1150-1200, 1200 Mhz -> 1250. Comunque bisogna ricordare che le componenti di ogni singolo device non sono esattamente le stesse, quindi gli schemi possono variare da un gnex all’altro e bisogna provare per trovare la giusta “combinazione”, sebbene quella esemplificata sopra dovrebbe andare bene.

Insomma, Android, si sa, è un sistema che spinge ad imparare e provare e questo caso non fa eccezione. Nella speranza di aver riassunto alcune delle cose più importanti in maniera, sebbene “riduttiva”, abbastanza esauriente e comprensibile, vi saluto, ribadendo che questi consigli sono delle semplici linee guida per sapere a cosa si mette mano, magari utili a chi vuole saperne di più e a chi vuole avventurarsi nella selva dei kernel evitando danni.

E voi che Kernel usate e con quali settaggi? Qualsiasi domanda-dubbio-incertezza-consiglio-parere nei commenti!

Alla Prossima.

N.M.

Galaxy Nexus e LeanKernel: consigli su come ottimizzare prestazioni ed autonomia. ultima modifica: 2013-05-08T02:23:50+00:00 da Nicola Monaco

migliori servizi AndroidMigliori rubriche e servizi offerti da Tuttoapp-android:
A) Pubblicizzare applicazioni in maniera professionale ed efficiente;
B) Migliori smartphone Android (con prezzi aggiornati ogni 5 ore);
C) Migliori tablet Android.

Potrebbero interessarti anche...

  • Pingback: Root e sblocco bootloader Galaxy Nexus [GUIDA]()

  • http://www.smokestyle.org Paolo

    Ottima guida, l’unica constatazione è che nel LeanKernel non è presente il tweak per regolare la vibrazione 🙂 per il resto, grazie dei consigli 😉

    Io personalmente mi trovo bene con la CPU minima a 350mhz e la massima a 920mhz. Molti dicono che è assurdo underclockarlo ma io trovo bene e risparmio qualcosina di batteria. Tu che frequenze usi?