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.