UI Android mai fluida quanto quella iOS: ex-Google spiega

Andrew Munn, studente laureando in Ingegneria del Software ed ex componente dello staff interno degli ingegneri Google, si concede un break sul suo profilo Google+ e spiega ampiamente il motivo reale che rende la UI Android meno fluida, leggermente più laggosa e meno reattiva rispetto a quella di iOS e WP7. Di seguito riporteremo brevemente le ragioni di questa differenza di prestazioni senza soffermarci troppo sui particolari, in modo da riuscire a far comprendere a tutti i lettori, anche a quelli meno esperti, qual’è il nocciolo della questione. Chi invece volesse approfondire, può recarsi direttamente sul profilo Google+ di Andrew Munn e leggere tutta la relativa esposizione.

La radice del problema è da ricercare in un’inottimale gestione delle priorità da parte di Android rispetto ad iOS e WP7. Infatti iOS ha come priorità real-time assoluta il rendering grafico e questo vuol dire che anche se si sono aperte contemporaneamente più applicazioni, il sistema operativo va a concentrarsi sempre e solo sul processo attualmente utilizzato dall’utente. D’altro canto invece, Android prevede solo una priorità normale, non assoluta, per il rendering grafico e, di conseguenza, i dispositivi Android tendono a diventare più lenti e scattosi quando si cerca di eseguire più operazioni simultaneamente.

Ecco un breve esposto di Andrew Munn:

It’s not because Android runs bytecode and iOS runs native code. It’s because on iOS all UI rendering occurs in a dedicated UI thread with real-time priority. On the other hand, Android follows the traditional PC model of rendering occurring on the main thread with normal priority.

Oltre questo, Munn realizza un esempio basato sul caricamento dei contenuti dell’applicazione Facebook su iPhone o iPad. Egli fa notare come, eventualmente durante il caricamento dei contenuti dovessimo interagire con il display di suddetti terminali con le dita, lo stesso caricamento si bloccherebbe per permettere una navigazione fluida all’utente per poi riprendere nel momento in cui si stacca il dito dal display, cosa che non avviene sul sistema operativo a noi tanto caro, poichè i contenuti vengono comunque caricati a scapito della fluidità del terminale.

Android prevede una normale priorità per il rendering grafico, in stile PC, che non gli permette attualmente di ottenere le stesse prestazioni di iOS e WP7. Con l’introduzione dell’accelerazione hardware in Android Honeycomb prima ed Ice Cream Sandwich poi, si è già fatto qualcosa ed i risultati si sono visti tutti, ma fin quando anche Android non sarà progettato per dare al rendering grafico la massima priorità, allora iOS e WP7 saranno sempre un passo avanti in questi termini.

Personalmente utilizzo terminali Android da circa 2 anni e mi sento di dire che non si sente molto la mancanza di una navigazione sempre fluida all’interno del sistema operativo, quindi con terminali sempre più nuovi e potenti credo che il problema possa ritenersi praticamente inesistente.

Certo però che un’ottimizzazione software che mette come priorità il rendering sarebbe auspicabile.

[Via]

Commenti

Ti invitiamo ad usare toni consoni e di rimanere in tema all'argomento trattato, in caso contrario, il sistema automatico potrebbe oscurare il tuo messaggio e potrebbero trascorrere fino a 48h per la verifica ed un'eventuale autorizzazione.
TuttoAndroid si riserva comunque il diritto di allontanare le persone non adatte a tenere un comportamento corretto e rispettoso verso gli altri.

  • Anonimo

    Se il “problema” è la priorità dei processi, allora mettere una priorità realtime sul thread in esecuzione non è un’ottimizzazione come scritto nell’articolo. Sono semplicemente scelte progettuali.

  • Niko1

    Apprezzo gli sforzi di google per fare un sistema operativo decente ma ios ė avanti, io ho entrambi i dispositivi quindi posso permettermi un paragone!
    Di certo android lotterà per il primo posto, ora è sicuramente qualche passo indietro ma di certo con politiche come il Carrier IQ non ci fa una bella figura.
    Di certo se fossi un utente che ci tiene alla propria privacy, dopo la scoperta del software in questione che trasmette non si sa a chi i dati personali, ci penserei 2 volte a comprare android!
    Spero che google risolvi presto il problema.

    • Becco

      Io mi sono stancato di leggere su tuttoANDROID i soliti commenti dei soliti rivenditori/riparatori di quei sanitari bianchi, che inzozzano la rete venendo a dire che hanno “tutti e due” (e che te fai???) e metti in guardia chi acquista Android. Sia TU che TUTTI GLI ALTRI siete PA TE TI CI

      • Pietro Marrone

        becco, tu hai qualche problema.

  • Becco

    Sì ma rendendo a priorità alta (o in real-time) il rendering dell’ambiente grafico significa sprecare risorse della CPU! Certo la fluidità è importante e iOS può contare su un hardware bilanciato per il suo sistema, ma Android deve poter andare sulla feccia pura come sull’ultimo prototipo all’avanguardia… il lag poi non è visibile con i telefoni recenti ma solo con i prodotti più sottocosto cinesi, che comunque giovano di questo fatto in prestazioni.

  • Ho un SGS2 e un GALAXY NOTE. Sull’SGS2, devo dire che di rallentamenti non se ne vedono proprio sarà la enorme potenza del telefono. Mentre sul Note in effetti qualche piccolo lag si vede, vuoi anche che il display è più risoluto e grande… Oggi ho provato il LUMIA.. devo dire che a parte la dimensione del display è davvero favoloso per nitidezza grafica e velocità. Peccato per la micro fucking sim…

  • Zen

    In effetti venendo da iphone, la fluidità di questo è decisamente superiore rispetto il Note. Ciò non toglie che anche iphone abbia i suoi imputamenti…
    Io nella gestione dei download delle APP (x esempio) ho notato il contrario di quello che dice Munn, su iphone ho dei lag vistosissimi, su android non li ho rilevati.

  • Ordnascrazy

    Il mio galaxy s2 non ha bisogno d’essere più fluido, a mio modesto parere.
    Preferisco un sistema stabile, libero e super personalizzabile.

    • anonimoconosciuto

      superpersonalizzabile: si.

      stabile: dipende dal cellulare che hai, chiedilo a qualcuno che ha un vecchio android con una vecchia versione perchè con difficoltà trova gli aggiornamenti e il suo cellulare non è detto che li possa supportare.

      libero: NO. mettetevelo in testa. google è il grande fratello, molto più di apple.
      ora per carità la mia è una precisazione a titolo informativo. all’utente medio che sia libero il sistema operativo o meno poco cambia!

      • Becco

        Come fai a dire che non è libero??? Forse non hai ben chiaro il concetto di libero nel mondo del software; libero significa che se vuoi sostituire il sistema operativo (o sue parti) e sei in grado di farlo, puoi LEGALMENTE farlo (e gratis)… questo lusso non te lo concede Microsoft ne Apple ne altri. A meno che non sei disposto a pagare e comunque non è detto; dipende da quanto interesse hanno a permetterti un upgrade.

        Sul discorso del grande fratello mi hai strappato una risata: la Microsoft e la Apple sono state le pioniere di queste tecnologie e non hanno bisogno di rivolgersi a ditte esterne per registrare e autoinviarsi le informazioni degli utenti.

        • tesla

          beh che google sia peggio del grande fratello non è proprio possibile negarlo.
          d’altra parte pensare a google come a un’azienda “etica” (magari non è comunque il tuo caso) è ridicolo. tutte le strategie di google sono puramente commerciali, compresa la presunta “libertà” di android. strategie per altro efficaci, vista anche la quantità di fanboy che riesce a mietere.

          • Becco

            E’ sì, è tutta lobby! Eppure Android è su tanti telefonini e posso scegliere costi, versione ecc… mentre iPhone? “No ma quello che c’entra…” quelli sono oggetti d’arredamento, devono essere belli e costosi. Se poi hanno delle venature è per la purezza…

          • tesla

            ahahah becco ma quanto hai bevuto?
            sai cos’è una lobby? evidentemente no, perché altrimenti ti saresti accorto che nessuno ha mai parlato di lobby.
            capisci che quello che sto dicendo non c’entra nulla con lo lobby?

  • Riccardo Robecchi

    Davvero complimenti Giuseppe! Scrivi molto molto bene. Bell’articolo :)

    • Giuseppe

      Grazie mille Riccardo, anche tu scrivi benissimo! :)

  • Può darsi anche che non sia ancora un ingegnere, ma questo Munn ha dato una spiegazione plausibile.

    Alla fine, è questo il motivo per cui il dual core fa un gran bene ad Android. Non so se Android darà mai priorità di real time al processo di disegno dell’interfaccia, magari potrebbe farlo per i terminali single core. Ma il futuro è dual o multi core, per cui il problema tenderà a risolversi da solo.

    • Però da quanto ho letto pare che con ICS le cose migliorino parecchio (sempre che ci sia qualcosa da migliorare…).

  • Anonimo

    Allora é per questo che su iOS se faccio lo scolling della pagina web mentre si carica il caricamento si blocca.. A mio parere é fastidiosissimo

  • Pogio

    Cosa che già sapevamo, android e multitasking puro, gli altri sono giocherelli..

  • Lele

    Andrew Munn nel suo post ha fatto una lunga premessa, a mio avviso non trascurabile …ecco alcuni frammenti:

    “I am a 3rd year undergraduate software engineering student.”

    “I was not on the framework team and I never read the Android rendering source code. I do not have any authoritative Android knowledge and I cannot guarantee what I say here is necessarily 100% accurate”

    A voi le conclusioni

    • gionni

      Infatti il titolo dell’articolo mi pare decisamente inappropriato

      • Giuseppe

        Munn ha lavorato in collaborazione con Romain Guy senza entrare a stretto contatto col codice sorgente di Android. Dunque ha lavorato per Google e, finito il periodo di collaborazione, ora non fa più parte del team. Per questo è un ex-google. Non vedo cosa ci sia di strano nel titolo :)

        • Andrea Pisoni

          il ragazzo non è un ingegnere, è un semplice studente ^^

          • Giuseppe

            Questo è vero, scusate. E’ che frequentando l’università a volte si chiama ingegnere anche chi segue un corso di laurea di ingegneria, non solo un laureato :) ora modifico.

  • Anonimo

    Ok, minore priorità al rendering grafico, ma almeno riesce a fare contemporaneamente molte più cose e senza limitazioni di sorta, non come la concorrenza che ti acceca con i fronzoli e poi ti limita per non sembrare più lenta.

  • Rosario

    Dai che col quad core c’è la fate!!!

    • Luigi Tarallo

      dai che con la grammatica italiana ce la puoi fare!!!

    • Ale

      anche senza processore c’è la facciamo ahahahahah ! ! ! viva android!!!

Top