Accelerazione hardware

25 ottobre 2014

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.

Tutte le lezioni

1 ... 57 58 59 ... 84

Se vuoi aggiornamenti su Accelerazione hardware inserisci la tua e-mail nel box qui sotto:
Tags:
 
X
Se vuoi aggiornamenti su Accelerazione hardware

inserisci la tua e-mail nel box qui sotto:

Ho letto e acconsento l'informativa sulla privacy

Acconsento al trattamento di cui al punto 3 dell'informativa sulla privacy