
Perché l'interfaccia di Android non è fluida quanto quella di iOS e Windows Phone? Una domanda che molti si saranno fatti in questi anni e su cui si discute in particolar modo in questi giorni. Ne hanno parlato Dianne Hackborn, Android Framework Engineer, e Andrew Munn, Software Engineer.
Tra i due post il più specifico è quello della Hackborn, che ricorda come Android storicamente usi la modalità software per renderizzare i contenuti di ogni finestra. Nell'interfaccia standard ci sono diversi elementi come la barra di stato, lo sfondo, il launcher in alto e il menù.
"Se una delle finestre aggiorna il proprio contenuto, per esempio quando viene evidenziata una voce, prima della versione 3.0 era il software a riprodurre i nuovi contenuti in quella finestra, ma nessuna delle altre finestre veniva ridisegnata e la ricomposizione di queste era fatta in hardware (con la GPU). Allo stesso modo, ogni movimento delle finestre, come il menù a scomparsa, è tutto gestito dall'hardware".

Per avere una fluidità elevata l'ideale sarebbe far lavorare tutto a 60 frame al secondo, non sempre ci si riesce perché molto dipende dal numero di pixel dello schermo e dalla velocità della CPU. "L'accelerazione hardware totale all'interno di una finestra è stata aggiunta con Android 3.0. […] Il cambiamento principale in Android 4.0 fa sì che le applicazioni rivolte a tale versione avranno l'accelerazione hardware abilitata di default", spiega la Hackborn.
L'accelerazione hardware però non è sempre la panacea di tutti i mali. "Per esempio i driver di PowerVR di dispositivi come Nexus S e Galaxy Nexus usano l'OpenGL con un processo che richiede 8 MB di RAM. Dato che l'overhead del nostro processo è circa 2 MB, la richiesta è elevata. Questa RAM è tolta ad altri compiti, come il numero di processi in background che si possono far funzionare e rallentando aspetti come il passaggio tra le app".
Secondo l'ingegnere Andrew Munn, che ha lavorato nel team Android e che da gennaio passerà in quello Windows Phone - anche se sostiene di essere un grande fan del sistema operativo di Google - tutto il rendering dell'interfaccia in iOS è affidato a un thread dedicato con priorità in tempo reale, mentre Android segue il tradizionale modello PC in cui il rendering avviene nel thread principale con priorità normale. Questo mina alla radice la possibilità di avere un sistema fluido in ogni situazione.

"Potete vederlo voi stessi. Prendete un iPad o un iPhone e aprite Safari. Iniziate a caricare una pagina complessa come Facebook. A metà del caricamento mettete il dito sullo schermo e muovetelo. Tutto il rendering si bloccherà istantaneamente. Il sito non si caricherà fino a quando non toglierete il dito. Questo perché il thread dell'UI intercetta tutti gli eventi e renderizza l'UI con priorità in tempo reale".
"Se ripetete questo test in Android noterete che il browser proverà sia ad animare la pagine che a renderizzare l'HTML, e a fare un buon lavoro con entrambi. Su Android, questo è un caso in cui un processore dual-core efficiente aiuta, ed è per questo che il Galaxy S II è famoso per la sua fluidità". Da notare che Munn è stato accusato di aver semplificato troppo la spiegazione sul fronte iOS e in effetti anche lui ammette che può essere andata così, ma lo scopo era farsi capire e fondamentalmente c'è riuscito.
Munn ritiene inoltre che un altro problema sia rappresentato dalla garbage collection. "Usando l'applicazione delle foto in Honeycomb o ICS potreste esservi chiesti come mai il frame rate è così basso. Il frame rate è limitato a 30 FPS". Far girare il tutto a 60 FPS porterebbe ad avere notevoli rallentamenti casuali dovuti alla garbage collection, "per cui limitare il frame rate a 30 FPS risolve il problema".

Munn punta il dito anche contro Tegra 2, disponibile in diversi prodotti Android, che ha problemi di bandwidth di memoria e non supporta le istruzioni NEON, l'equivalente delle SSE di Intel pensate per accelerare i calcoli multimediali. Infine la macchina virtuale Dalvik non è così matura quanto quella desktop e Java ha problemi noti con le prestazioni delle interfacce grafiche su desktop. Gran parte dei problemi nell'implementazione Dalvik non sono presenti, ma alcuni sì.
Come risolvere il tutto? Le future versioni di Android mitigheranno tanti problemi, ma probabilmente non si potrà agire su tutto, a meno che non s'intervenga alla radice. Questo però potrebbe voler dire scrivere tutte le applicazioni per il nuovo framework, oppure integrare il supporto alla modalità precedente. Un lavoro complesso e con insidie, che potrebbe avere ripercussioni sullo sviluppo delle altre caratteristiche del sistema operativo. Che cosa farà Google? E quanti di voi effettivamente notano nell'interfaccia grafica di Android rallentamenti rispetto ad iOS e Windows Phone?
Monti elimina i contributi statali per alcuni quotidiani
L'Xbox non va bene? Lamentatevi, ma non fate class action
Novo 7, il tablet Android 4.0 che costa meno di 100 dollari
Bug Facebook, rubate le fotografie personali di Zuckerberg
Provider: se Telecom fissa i prezzi della fibra è finita
Linux 3.3, il kernel che non prosciuga la batteria dei portatili
CPU Intel vulnerabili, aggiornare il BIOS o disabilitare il TXT
Windows Store su Windows 8: ecco prezzi e tutti i dettagli
Optimus Popularis, la tastiera da mille euro per clienti chic
Anonymous appoggia i No TAV, e scatena il cyber-attacco
Transistor 3D senza silicio, il futuro dei processori a 10 nm
Televisioni Apple da 32 e 55 pollici per Natale 2012
Ragazzi italiani cyber-dipendenti: così piccoli e già sfigati?
Botnet di smartphone zombie, una minaccia più che reale
Mouse e tastiere Bluetooth con autonomia di 10 anni: fatto!
Serious Sam 3: BFE, l'anti-pirateria è uno scorpione gigante
Canon lavora ai nuovi super-teleobiettivi 400mm e 600mm
Cellulare TTM Outlimits Solaris con pannello solare integrato
Mio Cyclo 300 e Mio Cyclo 305 HC sono GPS da bicicletta
Facebook vuole Opera per realizzare un nuovo browser?
Microchip nei cetacei per studiare il clima e la fauna marina
Le offerte 3 Italia per il Samsung Galaxy SIII in anteprima
Steve Jobs geniale ma Cook è il capo perfetto per Apple
Absinthe 2.0 per il jailbreak del Nuovo iPad e iOS 5.1.1
Google cancella 1,2 milioni di link pirata al mese
TV a Ultra Alta Definizione: si parla già di standard
Google cancella 1,2 milioni di link pirata al mese
Video e foto niente male con i Project Glass di Google
Google assolta perché Android non viola i brevetti Oracle
Android Malware Genome Project apre i battenti
Musica elettronica: da Robert Moog alle onde ultrasoniche
Antitrust UE: ultimatum a Google sulla pubblicità online
Chrome ha sorpassato definitivamente Internet Explorer
Android 5 moltiplica i Google Nexus, famiglia numerosa
Chrome 19 sincronizza le schede con Android ed è più sicuro
Quale browser usare su un vecchio computer con Windows XP?
Le offerte 3 Italia per il Samsung Galaxy SIII in anteprima
Google assolta perché Android non viola i brevetti Oracle
Intervista: i giochi Android e iOS sfideranno Xbox, Playstation e PC
Tablet Tegra 3 con Android 4.0 a 199 dollari, ormai ci siamo
Android Malware Genome Project apre i battenti
VIA APC è il concorrente del Raspberry Pi con Android
VIA Technologies APC - PR
LG Optimus L3 per chi non ha pretese - Video Recensione
Motorola RAZR MAXX porta in Italia la batteria dei record
Il Samsung Galaxy S 3 è già pronto per le ROM cucinate
Originariamente inviata da Articolo
E quanti di voi effettivamente notano nell'interfaccia grafica di Android rallentamenti rispetto ad iOS e Windows Phone?
...questa sconosciuta...WP7(/7.5) e iOS sono ottimizzati sull'hardware che hanno, avendo il primo requisiti quasi totalmente fissi per poterlo far girare e l'altro un hardware che si rinnova ad ogni sua nuova versione...mentre Android continua sì ad evolversi, ma lo mettono dappertutto, e non si può chiedere che venga ottimizzato "di fabbrica"...per questo esistono (fortunatamente) i Custom Firmware...
Originariamente inviata da thunderluca
Ottimizzazione
...questa sconosciuta...WP7(/7.5) e iOS sono ottimizzati sull'hardware che hanno, avendo il primo requisiti quasi totalmente fissi per poterlo far girare e l'altro un hardware che si rinnova ad ogni sua nuova versione...mentre Android continua sì ad evolversi, ma lo mettono dappertutto, e non si può chiedere che venga ottimizzato "di fabbrica"...per questo esistono (fortunatamente) i Custom Firmware...
Galaxy Nexus con TIM, ecco le tariffe del Googlefonino
Galaxy Nexus in Italia con Vodafone, tariffe per tutti i gusti
Cellulare TTM Outlimits Solaris con pannello solare integrato
Le offerte 3 Italia per il Samsung Galaxy SIII in anteprima
Nvidia Grey è l'ultimo chip Tegra con modem LTE e HSPA+
Windows Phone non ha battuto Apple in Cina: tutte frottole
Mass Effect Infiltrator su Android in tempo per il Galaxy S III
Lumia 900 e 610 con Windows Phone anche in Italia
Android Malware Genome Project apre i battenti
LG Optimus L3 per chi non ha pretese - Video Recensione
Commenti