Forza rendering GPU: meglio attivare o disattivare l’opzione?

Force-GPU-Rendering

Con l’annuncio di Android Ice Cream Sandwich, Google ha introdotto le famose “Opzioni sviluppatore” delle quali è possibile fruire direttamente dalle Impostazioni. Tra queste opzioni vi è “Forza rendering GPU” di cui molti non conoscono ancora la sua vera funzione; è dunque per questo motivo che abbiamo deciso di spiegare il tutto in un articolo dedicato.

Inizialmente non era possibile utilizzare la GPU per disegnare contenuti in 2D all’interno delle applicazioni: si occupava di tutto la CPU. Con l’introduzione di Android 3.0 Honeycomb e delle API versione 11, Google ha dato agli sviluppatori la possibilità di specificare, all’interno del codice delle loro applicazioni, se il sistema poteva utilizzare l’accelerazione hw: di default, l’accelerazione era disabilitata per tutte le applicazioni, dunque erano gli sviluppatori a doverla abilitare manualmente. Per cui, nel caso in cui gli sviluppatori desiderassero provare le loro applicazioni con l’accelerazione hardware abilitata, avevano bisogno necessariamente di aggiungere una riga di codice al manifest e di ricompilarle.

Con Android 4.0 Ice Cream Sandwich, invece, le cose iniziano a cambiare in meglio: l’accelerazione HW, infatti, viene abilitata di default al contrario di come avveniva in Honeycomb, per cui gli sviluppatori potevano disabilitarla manualmente. Tutto questo grazie alle API versione 14 che vennero rilasciate insieme ad Android 4.0 Ice Cream Sandwich; ma cosa accadeva invece alle applicazioni che non erano state compilate con API livello 14? Semplicemente si tornava alla situazione di Honeycomb, dove non si poteva usufruire dell’accelerazione hw di default in quanto, essendo tali applicazioni compilate per una versione precedente delle API, si aveva bisogno di un intervento da parte degli sviluppatori per poter usufruire dell’accelerazione hw.

Per questo motivo, Google ha deciso di introdurre l’opzione “Forza rendering GPU” all’interno delle Opzioni sviluppatore, proprio per dar modo agli sviluppatori (o agli utenti più esperti) di sfruttare l’accelerazione HW anche nelle applicazioni per le quali non è abilitata, senza che si abbia la necessità di ricompilarle ogni volta.

Forzare l’accelerazione HW talvolta può comportare dei lievi miglioramenti ma anche dei peggioramenti dell’esperienza utente: alcune applicazioni possono andare in crash, altre invece possono presentare problemi, altre ancora possono risultare migliorate. Forzare il rendering GPU è quindi un’opzione che può essere attivata o disattivata a seconda dell’esperienza che ogni utente ha: se si ha l’impressione che le app non abbiano alcun tipo di problema, allora l’opzione può essere tenuta attiva; se invece si ha l’impressione che non sia proprio tutto perfettamente funzionante, allora è meglio disattivarla.

Oltretutto, ogni processo che abbia il rendering via hardware attivo consuma 8MB di RAM in più indipendentemente da tutto il resto proprio per via dell’accelerazione via GPU. Questo può essere un problema relativo su terminali con molta memoria, ma su dispositivi con 1GB o meno di RAM un numero alto di processi in esecuzione accelerati via hardware può far insorgere problemi.

C’è però da sottolineare un aspetto molto importante, e cioè: ormai le applicazioni compilate con API precedenti al livello 14 sono davvero pochissime rispetto a tutte le altre compilate con versioni successive delle API. Per questo motivo, quasi certamente non si noterà alcuna differenza tra l’abilitazione dell’accelerazione hw e la disabilitazione.

Commenti

Ti invitiamo ad usare toni consoni e di rimanere in tema all'argomento trattato, in caso contrario, il sistema automatico potrebbe oscurare il tuo messaggio e potrebbero trascorrere fino a 48h per la verifica ed un'eventuale autorizzazione.
TuttoAndroid si riserva comunque il diritto di allontanare le persone non adatte a tenere un comportamento corretto e rispettoso verso gli altri.

  • danitkd93

    grazie mille ragazzi! è dall’uscita di ics che nei forum si parla di attivare st’opzione senza trovare un cristiano che ti sappia spiegare almeno quali possono essere le sue controindicazioni!
    ora avrei un’altra domanda, approfittando della vostra grande competenza:

    è vero che diminuire il tempo delle animazioni fa risparmiare batteria? io non ci credo molto anche perché l’ho sentito solo nel forum del note.. su quello del gnexus non sono mai girate certe voci. Quindi il dubbio cresce!
    sapreste darmi una mano voi a capire?

  • Eugex8.9

    Bell’articolo, sul gNex dava una sensibile spinta, oggi non serve più nemmeno li.

  • Luca M

    sarebbe utile gestire le cpu singolarmente.

  • SuperBonny

    Esiste un modo per abilitare la forzatura solo su certe app? Ho appena scoperto che My Vodafone larga da paura proprio perché non usa l’accelerazione Ho è mi piacerebbe abilitarla

  • misterdevil93

    scusate ma non ho capito una cippa…quindi servirebbe a che scopo???

    • Dario Garcia

      “se si ha l’impressione che le app non abbiano alcun tipo di problema, allora l’opzione può essere tenuta attiva; se invece si ha l’impressione che non sia proprio tutto perfettamente funzionante, allora è meglio disattivarla.” :))

    • Melo

      se hai l’impressione che effettivamente non è stato spiegato in termini tecnici,beh hai ragione :D

  • darkcg

    “Meglio” o “Peggio”. La risposta ce la si può dare da soli realizzando una semplicissima cosa: è un’opzione sviluppatori, in un menu da attivare esplicitamente, nascosto. Leggasi:”Non per utenti finali”.
    Forzare ciò che non è stato previsto all’origine non è mai una buona idea. C’è anche il caso in cui l’accelerazione sia stata disattivata esplcitamente per una determinata applicazione.
    Non c’è motivo di forzarla per applicazioni vecchie, quasi sicuramente, se non ci sono problemi, non ci saranno vantaggi (anzi, l’applicazione consumerà piu’ memoria e quasi sicuramente più batteria).
    Se invece l’accelerazione è stata disattivata esplicitamente dagli sviluppatori, il motivo lo conoscono loro e quindi l’utente comunque non farà un buon affare in ogni caso.

    Non è un’opzione per “utenti avanzati”, ma per sviluppatori di applicazioni proprie. Un utente, principiante o avanzato che sia, attiverebbe comunque l’opzione alla ceca.

    Morale: gli utenti facciano gli utenti.

    • Cerberus

      Se tutti pensassero come te il mondo si sarebbe fermato all’età della pietra….

      • darkcg

        Il mondo va avanti grazie alle persone che studiano. Realizzano. Scoprono. Inventano. Sperimentano. Quelli come te che giocano con i menu sono i perditempo. Appunto, quelli che lasciano il mondo all’età della pietra.

Top