In questi giorni sto provando l'ottimo Honor6, tra le innumerevoli opzioni della su ROM STOCK EMUI 3.0, degna come personalizzazione della miglior Custom, ce ne sono numerose per il risparmio energetico, quella che mia ha colpito è la "Screen Saver", sostanzialmente abbassa la risoluzione dell VM da FullHD a 720p, in questa maniera diminuiscono i consumi, visto che la GPU deve spostare meno pixel, e aumentano le prestazioni in 3D.
Mi sono sempre detto che una risoluzione da 720p è pienamente sufficiente per un 5", sfortunatamente questo è anche un parametro usato "commercialmente" per dire "questo terminale è un vero Flagship" per cui le case non ci rinunciano. Purtroppo il consumo della parte squisitamente hardware, cioè il pannello in se stesso, non cala come farebbe se fosse un vero 720p, ma non possiamo farci nulla e tenerci i consumi eccessivi di uno schermo "figo" per il 95% degli usi.
Prerequisiti:
Root
GApps multiDPI
ADB correttamente configurato (servirà per tornare alla normalità, usando la SHELL da ADB, nel caso sbagliassimo qualcosa)
Una qualsiasi APP "Terminale" o, se preferite, Nexus collegato al PC e uso di ADB SHELL
Selezionate la tastiera standard Google se ne avete una alternativa, tipo Swiftkey, che non si adatta automaticamente alla densità impostata.
Iniziamo a cambiare il build.prop, in particolare il valore LCD Density, altrimenti potremmo ritrovarci con icone troppo grandi e avere difficoltà nell'uso, deve essere simile a quello impostato (320 nell'esempio) ma va a piacere, mantenetevi in un range congruo, +-40, in linea generale, salvo situazioni non compatibili, abbassare i DPI nel buil.prop rispetto al valore density inserito permette di visualizzare più icone ed un testo più piccolo, molte custom impostano i DPI nel build.prop a 440 o 400 proprio per avere più "spazio" per icone e widgets nell'interfaccia.
Una volta entrati nella SHELL, il mio consiglio è di fare tutto da ADB Shell piuttosto che da una app visto che potete ripristinare al volo o scegliere altre risoluzioni in modo facile veloce e indolore, se usate un'app e sbaglaite parametri potreste non poter più usare la tastiera per via delle dimensioni, dobbiamo chiedere i permessi di root digitando il comando "su", SuperSU ci chiederà il consenso a dare il permessi di root alla SHELL, acconsentiamo, ci troveremo con questo prompt:
root@hammerhead:/ #
A questo punto possiamo dare i comandi che alternano la le dimensioni e la densità:
root@hammerhead:/ # wm size 720x1280
root@hammerhead:/ # wm density 320
root@hammerhead:/ # stop && start
Il comando "stop && start", riavvia il terminale perchè potrebbero esserci applicazioni/impostazioni che non digeriscono il cambio al volo di densità e risoluzione.
Infine bisogna verificare di avere le GApps multiDPI, qualche applicazione potrebbe rimanere ingigantita, a me è successo con swiftkey, in quel caso si può provare a fare un wipe cache da recovery.
Per editare il Build.prop potete usare un qualsiasi file manager con accesso al root, oppure l'app "Build Prop Editor", alternative ce ne sono diverse comprese alcune app di "kernel/system tuner" che, tra le varie opzioni, hanno anche quelle sul DPI.
Con la risoluzione 720x1280 possiamo variare, a gusto, la densita intorno a 320, però dobbiamo essere consci che alcune app si adattano solo a ben precise risoluzioni, altre sono direttamente pensate per lo schermo FullHd, altre al primo avvio controllano la risoluzione.
Se qualche app non si adatta potete prima provare a fare un wipe-cache da recovery, successivamente a disinstallarla e reinstallarla, cosi se adatta la sua risoluzione in funzione a quella del terminale farà di nuovo i calcoli, a me è successo con Swiftkey.
Per ripristinare la situazione dovete dare di nuovo gli stessi comandi usando come density 480 e come size 1080*1920, se avete difficoltà ad inserirli per problemi di visualizzazione usate il pc, collegato al Nexus 5 con ADB SHELL, mi raccomando verificate PRIMA di aver configurato correttamente la shell via adb.
Le risoluzioni standard, a cui tutte le app dovrebbero essere in grado di funzionare, sono:
ldpi (low) ~120dpi
mdpi (medium) ~160dpi
hdpi (high) ~240dpi
xhdpi (extra-high) ~320dpi
xxhdpi (extra-extra-high) ~480dpi (Standard sul Nexus 5 a 1080*1920)
xxxhdpi (extra-extra-extra-high) ~640dpi
Sto preparando uno script di shell per cambiare risolzione "con 1 click", se funziona e siete interessati lo posso condividere (quando pronto), oppure se qualcuno lo fa prima di me, visto che non è affatto difficile, mi risparmia il lavoro.
Risultati:
Odio mettere e usare i test di Antutu o simili per confrontare terminali, non c'è cosa più sbagliata, ma nel caso specifico e solo come info sui vantaggi posso dirvi che il mio nexus è passato da 36700 a 42000, kernel codeblue con impostazioni quasi standard e -40mv di undervolt, quelle della sola grafica 3D da 12300 a 14800, le prestazioni 2D sembrano invariate ma c'è da considerare che il test fatto è minimale e, sopratutto, che l'accelerazione 3D viene usata in diversi applicativi, da Maps ai giochi e, forse non ci si fa caso, tanti launcher alternativi ne fanno pesante uso nelle transizioni e nei vari effetti.