Dopo l’articolo di ieri in cui l’ingegnere di google Dianne Hackborn faceva chiarezza tramite Google + sull’accelerazione Hardware nei dispositivi Android, un altro (ex)ingegnere di Google è intervenuto attraverso il medesimo canale chiarendo, grazie ad un post molto interessante, un aspetto legato alle prestazioni della UI di Android in paragone ad iOS e Windows phone 7.
Chi come noi ha la fortuna di poter utilizzare e testare approfonditamente tutti i sistemioperativi mobili in circolazione non potrà non aver notato la differenza in fluidità della UI di Android rispetto ad iOS ad esempio. Sebbene l’avvento dei processori Dual Core abbia ridimensionato di molto questo aspetto negativo e Android 4.0 abbia migliorato l’accelerazione hardware, è innegabile che anche smartphone potenti come Samsung Galaxy S2 o Galaxy Nexus soffrano inevitabilmente di qualche micro-lag, totalmente assente nel sistema operativo di Apple e Windows phone 7.
Si parla ovviamente di lag leggeri che non inficiano assolutamente sull’esperienza d’uso ma che inevitabilmente saltano all’occhio dell’utente più pignolo ed esigente. Capita che durante l’installazione di una app il sistema rallenti in maniera palpabile perdendo in framerate, il problema è che la stessa cosa non avviene in iOS e WP7. Perchè avviene questo?
Si parla ovviamente di lag leggeri che non inficiano assolutamente sull’esperienza d’uso ma che inevitabilmente saltano all’occhio dell’utente più pignolo ed esigente. Capita che durante l’installazione di una app il sistema rallenti in maniera palpabile perdendo in framerate, il problema è che la stessa cosa non avviene in iOS e WP7. Perchè avviene questo?
Andrew Munn, ex team Google recentemente passato al team Windows Phone da un suo parere riguardo a questo problema.
Le ragioni sono molteplici e cercheremo di spiegare in modo semplice un discorso di per se complesso. La principale causa dei micro-lag di Android è la modalità in cui viene trattato il rendering della UI. Su Android questo aspetto viene gestito nel Thread principale con priorità normale al pari di qualunque altra app in fase di lancio. Su iOS al contrario avviene in un thread separato con priorità in tempo reale. Se con Android saltiamo dal browser in caricamento alla nostra home, il processo di caricamento non verrà interrotto e il sistema cercherà di gestire al meglio tutti i processi in corso, al contrario su iOS il nostro tocco su schermo interromperà o rallenterà (a seconda della app in esecuzione e di come è stata sviluppata) il caricamento della pagina web su Safari dando priorità al rendering dell’interfacia che prenderà il sopravvento.
Su Android il tutto si traduce in una risposta touchscreen leggermente più lenta che lascia quella sensazione di minore fluidità. Per lo stesso motivo altri sistemi operativi come Windows Mobile 6.5, Blackberry OS e Symbian godono di prestazioni inferiori.
Deve essere chiaro che questo non deve essere tradotto in prestazioni inferiori di Android OS ma di semplice differenza nella filosofia di base, un approccio diverso nella progettazione iniziale del codice di Android che sebbene sia cominciata prima di iOS (almeno secondo i dati dichiarati in rete e da Google) non prevedeva l’utilizzo esclusivo di schermi touchscreen.
Si diceva comunque che il problema è stato ridimensionato molto con l’avvento delle CPU Dual-core con Galaxy S2 in primis che grazie alla SoC Exynos ha raggiunto un livello di morbidezza elevatissimo e con i processori Qualcomm sui device HTC nonostante la pesante interfaccia Sense. La stessa cosa non è avvenuta con Optimus dual ed in generale con i dispositivi montanti SoC Tegra 2 lasciando con l’amaro in bocca molti utenti.
Sebbene Honeycomb avesse implementato l’accelerazione Hardware completa, tutti gli utilizzatori di Tablet montanti questa versione si sono sempre lamentati della laggosità del sistema più o meno evidente a seconda del dispositivo utilizzato e della personalizzazione software. Il motivo di questi impuntamenti è in questo caso imputabile alla SoC di Nvidia che avrebbe una bassa larghezza di banda per la memoria e non supporta il set di istruzioni NEON, motivo per il quale Exynos vanterebbe prestazioni visive superiori.
Andrew Munn aggiunge che altri motivi con minore impatto contribuiscono nel rendere evidente l’effetto micro-lag, con in primis la pesantezza di Dalvik Virtual machine, il software integrato che carica le applicazioni sui devices Android, che va detto è notevolmente migliorato rispetto alle prime versioni di Android OS. ICS 4.0 e le performance delle nuove SoC dovrebbero in futuro eliminare quasi completamente questo gap visivo con iOS e Windows Phone 7. Vi lasciamo il link all’interessante post di Andrew Munn.
Nessun commento:
Posta un commento
Aggiungi un tuo commento all'articolo