Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial
  • Lezione 59 di 97
  • livello avanzato
Indice lezioni

Accelerazione hardware

Come sfruttare al meglio la GPU dei dispositivi Android, abilitando l'accelerazione hardware per applicazioni che richiedono maggiori risorse grafiche.
Come sfruttare al meglio la GPU dei dispositivi Android, abilitando l'accelerazione hardware per applicazioni che richiedono maggiori risorse grafiche.
Link copiato negli appunti

Una delle tendenze degli ultimi anni vede i dispositivi mobile guadagnare una fetta ulteriore di mercato sempre crescente rispetto ai PC tradizionali. Una domanda che in molti si stanno ponendo riguarda, ad
esempio, la capacità dei tablet di poter sostituire nelle case di molti utenti i computer portatili. Oggetto di questo salto generazionale potrebbe essere
quel pubblico composto dai non tecnici, ma dai normali utilizzatori interessati a consultare Internet, alla comunicazione e al
multimedia.

In questa "lotta" tra dispositivi desktop e mobile, giocano un ruolo fondamentale i videogame e la soddisfazione che può dare la grafica 3D realizzata per un tablet piuttosto che per
un PC. Le prestazioni, in questo senso, non dipendono solo dall'elaborazione software, ma anche dalla disponibilità di risorse hardware.

Gli strumenti che hanno accompagnato sinora l'evoluzione della grafica sono soprattutto:

  • le librerie OpenGL, utilizzabile in binding da Java o in modalità nativa da NDK;
  • il potenziamento dell'infrastruttura di calcolo, con GPU sempre più potenti ed un crescente utilizzo di processori multicore sui dispositivi.

Il problema con l'hardware sta nel fatto che, in genere, i potenziamenti si traducono in un maggior dispendio energetico, aggravando le problematiche di
alimentazione già critiche sui dispositivi mobile.

Questa breve panoramica mostra il quadro della situazione, che ha portato ad un'importante innovazione in Android 3.0: la redirezione dell'intero
sottosistema di UI verso l'accelerazione hardware.

A partire da questa versione del sistema operativo, quindi, tutte le operazioni di rendering su Canvas di una View possono sfruttare maggiormente le
potenzialità dell'hardware del dispositivo, prima tra tutti la GPU. L'accelerazione hardware può essere attivata o disattivata dalla configurazione
dell'applicazione, per poterla utilizzare quando sia effettivamente utile. In alcuni casi, infatti, la sua attivazione spropositata potrebbe comportare
problemi inaspettati, soprattutto su operazioni in 2D.

All'interno dell'AndroidManifest, l'attributo XML che permette di abilitare/disabilitare l'accelerazione hardware è android:hardwareAccelerated ed il suo valore è di tipo booleano. Un aspetto molto importante è che, per evitare come detto spiacevoli
inconvenienti, questa funzionalità può essere applicata a vari livelli:

  • Applicazione;
  • Activity;
  • Window;
  • View.

Inoltre, le View sono dotate del metodo isHardwareAccelerated, che permette di controllare a runtime se l'accelerazione hardware è attiva.

Ti consigliamo anche