Apro questa discussione un po per fare il punto della situazione
un po per fare di chiarezza(o provarci) e un po per creare uno spazio su questo tema e raccogliere informazione che sono sparse per il forum
siete tutti invitati a intervenire per integrare o eventualmente correggere quanto è scritto sotto
Non inserisco per ora file o istruzioni particolari se sara' il caso vedremo in seguito
Per cominciare vediamo di cosa si tratta:
Kernel= è in sintesi il nocciolo, il motore, il cuore, o come lo vogliamo definire di ogni sintema operativo ,nel nostro caso android
Deamon= si tratta di uno script che inserito nel sitema Bypassa il kernel
sulla gestione delle frequenze della CPU
No frill= è un programma che serve a impostare le frequenze della CPU
a condizione che il kernel supporti step di frequenza impostabili
l'applicazione non fa altro che attivare le frequenze tra quelle selezionabili
setcpu è come no frill ma piu evoluto col quale si puo intervenire su diversi parametri oltre la frequenza,a differenza di no frill richiede risorse e rimane costantemente attivo nel sistema
CPU=per chi ancora non lo sapesse si tratta del processore
nel DHD lavora a una frequenza di circa 1000 MHZ di fabbrica, ma non è bloccato in hardware ,questo significa che si possono cambiare e manipolare frequenza e voltaggio per ottenere prestazioni migliori e/o consumi minori per una maggiore durata della batteria(in teoria)
cominciamo dalla fine col dire che la cpu DHD come tutte le cpu di questo mondo,non c'è ne una uguale all'altra,ma di fabbrica viene impostata sia in freqenza(MHZ) che in voltaggio(mV) su parametri assolutamente sicuri e conservativi,questo per consentire l'affidabilita' assoluta in tutte le situazioni
quindi la prima cosa da dire è che cambiare questi parametri significa una minore affidabilita' del sistema che sara' proporzionale all'aumentre della frequenza e/o al diminuire del voltaggio
tuttavia da una CPU ad un'altra possono esserci differenze anche enormi
mentre ci sono CPU che riescono a rimanere stabili a frequenze anche superiori a 1800MHZ altre CPU gia' a 1150MHZ danno segni di instabilita'
l'instabilita' tipicamente si manifesta con il riavvio immotivato o il freez dello schermo
senza entrare troppo nel dettaglio una CPU per rimanere stabile ha bisogno
di essere alimentata sufficientemente (V) in rapporto alla frequenza che usa
quindi a una frequenza piu alta serviranno piu V e quindi avremo un maggior consumo
meno consumo
Di conseguenza se volessimo diminuire il consumo senza rinunciare alle prestazioni dovremmo abbassare V lasciando invariata la frequenza
non esiste nessun modo di sapere quale è in valore minimo in mV sopportabile dalla nostra cpu alla frequenza nominale se non testandola
direttamente indicativamente comunque i kernel sono concepiti per recepire
solo un paio di step -25 -50(mV) puo succedere che la nostra CPU non regga gia' -25 oppure anche ha -50 regge benissimo
naturalmente maggiore sara' lo scailng anche a tutti gli step intermedi utilizzati dal kernel maggiore sara' il risparmio nel consumo della batteria..ma non apettiamoci miracoli...
Piu prestazioni
se per contro volessimo aumentare le prestazioni dovremo sacrificare un po di autonomia ma prima dobbiamo individuare con esattezza le caratteristiche dellla nosta CPU
basta usare Setcpu e armarsi di pazienza
nella sezione stress test si faranno test di 5/10 minuti per ogni step di frequenza fino ad arrivare al punto che avremo un riavvio o un freez
quindi dovremo cosiderare come limite massimo usabile 2 step indietro compreso quello in cui abbiamo avuto il cedimento
Alcune precisazioni importanti
mentre per il consumo è abbastanza ovvio che diminuedo V si avra' un minor consumo
non è altrettanto scontato che aumentando la frequenza avremo prestazioni megliori
sarebbe come confondere i giri del motore con la potenza
perchè se è vero che una maggiore frequenza di lavoro equivale a un maggior numero di calcoli e/o in un tempo minore impiegato
è altrettanto vero che questo deve valere anche per tutte le altre componenti perchè sara' sufficiente che solo una componente della catena
(ram,namd,SO,kernel....)faccia da collo di bottiglia per vanificare tutto il lavoro fatto prima,non solo,rischiamo anche di avere un sistema con un compotamento non omogeneo con continui impuntamenti
solo un esempio molto approssimativo
i dati sono sulla memoria interna (NAND) che è il componente meno veloce
quando noi richiamiamo una operazione i dati dalla NAND vengono caricati in memoria(RAM) dalla ram verranno ceduti al processore che dopo aver processato i dati ci dara' il nostro risultato
sara sufficiente che la RAM non sia in grado di alimentare i dati verso il processore con la dovuta velocita' che il processore si dovra' fermare per aspettare il flusso di dati vanificando il tutto,
tutto questo al netto del software (SO,Kernel,VM..)che comunque rimane l'elemento piu importane(da sempre) di tutta la catena da cui dipende tutto prestazioni in primis
Naturalmente la materia è ben piu complessa e articolata ba sufficiente per capire che è assolutamente sbagliato pensare che aumentare la frequenza di lavoro del processore
equivalga ad avere reali vantaggi
Voglio usare un'altro esempio per non essere frainteso
pur ammettendo di avere tutto il sistema ottimizzato al massimo con tutte le componenti a postissimo quali reali vantaggi avremmo nel aumentare la frequenza di un 20%(1000>1200)
nell'uso generale del terminale 0 o giu' di li'
immaginate la moto GP ,in quel contesto qualche centesimo di secondo al giro sono una enormita'
ma proviamo ad uscire da quel contesto e mettimo quelle moto nel quotidiano,che cosa ce ne faremmo di quei centesimi di secondo di differenza? spero di aver reso l'idea perchè è tutto qui
quello che c'è da aspettarsi da un simile OC
per avere un qualche segnale di piu prontezza ma solo in particolari situazioni dovremmo avere almeno dal 30% in su sotto questa soglia
salvo casi particolari e per kernel specifici (e per altre ragioni)meglio lasciare default(998)
perchè tutto quello che otterremmo è probabilmente solo un maggior consumo
Ritornando al nostro DHD quindi sprecare frequenze alte per cercare di ottenere prestazioni migliori per un uso generale è praticamente inutile
diverso è il discorso per usi particolari e specifici come i giochi che richiedo molta cpu ,dove una maggiore frequenza da' un maggiore scorrevolezza del gioco e un maggiore fps.
Per questa modalita' l'elemeto piu adatto è non frill
con il quale si puo impostare una frequenza maggiore(secondo le caratteristiche della nostra CPU)prima del gioco e a gioco finito riportarlo alla normalita',no frill non ha processi attivi ne impiega risorse ma serve solo per impostare la frequenza massima (solo quella)che una volta scritta con il tasto applica torna al suo stato di totale inattivita'
per questo motivo è preferibile a setcpu che invece è piu "invadente"
ma utile per testare il processore come spiegato sopra
sconsiglierei in maneira categorica l'uso di questo o di altri programmi
per una gestione articolata della CPU per la quale è molto piu indicato
il sistema "Deamon"
Il deamon è un sistema molto potente e flessibile per gestire in modo
molto fine sia le frequenze che i voltaggi in maniera anche indipendente fra loro
chi si illude pero' che sia uno strumento "per tutti" si sbaglia
Usare il deamon ha un senso solo se si ha una piu' che buona conoscenza
delle caratteristiche del Kernel e della CPU
avere chiaro fin da subito cosa si vuole ottenere capendo bene che *aumentare le prestazioni non è compatibile con il diminuire dei consumi
*usare le impostazioni di altri non ha molto senso dato che non ci sono 2 processori che si comportano allo stesso modo
Va anche tenuto presente che la strada migliore e piu efficace sarebbe quella di ottimizzare il kernel senza il bisogno di questo script(deamon)
che rimane comunque lo si voglia vedere un "corpo estraneo" fra rom e kernel
Invece ottimizzando il kernel entro parametri "certi" si assicura una perfetta coerenza e soprattutto stabilita' dell'insieme oltre che migliori prestazioni
"basterebbe" infatti usare parametri ottimali per il 99% delle CPU (max 1.150 min 190 -25 mV per step)
e realizzare il kernel in "perfect"cioè bloccato come gli originali e ottimizzato con tutti gli scaling piu convenienti e col miglior compromesso sicuramente il creatore del kernel nei suoi test è molto piu efficace di chiunque di noi nel trovare l'impostazione migliore soprattutto se il creatore(o il team) del kernel è anche quello della rom
i kenel attualmente sono ottimizzati rimanendo pero' sui parametri standar
e quasi tutti aperti con la possibilita' di manipolare frequenze e tensioni
con specifiche applicazioni piu o meno sofisticate direttamente dal terminale
questi kernel danno gia il meglio di se' senza il deamon sia nei consumi che nelle prestazioni sono veramente rari i casi in cui posso testimoniare che
l'uso del deamon mi ha dato qualche reale vantaggio
e non sono neanche pochi i casi in cui le cose sono peggiorate
quindi dovessi pronunciarmi direi che tutto considerato meglio tenere
il kernel onboard che quasi sempre è il migliore,non dimentichiamo che è con quello che il dev ha testato la rom se proprio vogliamo quello sprint quando ci serve usiamo no frill all'occorrenza,tra l'altro possiamo anche azzardare qualche MHZ in piu perchè se si dovesse riavviare tutto tornerebbe default cosa che con il deamon e setcpu il sistema è costretto a riavviarsi con le impostazioni date (quando ci riesce)
continua nel post #2