Una de las mayores quejas de los usuarios Android es el ocasional lag en su interfaz gráfica. No se puede negar que este lag existe, inclusive en el Galaxy Nexus. El lag ha ido mejorando durante los años, pero siempre surge cuando menos lo esperas. Sin embargo, considerando el más reciente post de un ex-Googler, este lag podría nunca desaparecer.

Andrew Munn ha tomado algo de tiempo en Google+ y nos ha dejado saber cómo funciona Android en relación a otros sistemas operativos similares. También nos detalla por qué Android siempre tendrá cierto lag en su interfaz, a no ser de que se efectúe algo realmente radical a nivel de código. Según Munn, la forma en que Android hace render de los elementos difiere de plataformas similares. Android no da proridad al dibujado del UI, esto ocurre en el hilo principal de una aplicación, si excepciones de prioridad.

Android sigue el modelo tradicional de PC donde el dibujado ocurre en el hilo principal con prioridad normal. Esta no es una diferencia abstracta o académica. Lo puedes ver por ti mismo. Agarra el iPad o iPhone más cercano y abre Safari. Carga una página web compleja como Facebook. En la mitad de la carga, coloca tu dedo en la pantalla y muévelo. Todo el render se detiene de inmediato. El website no terminará de cargar hasta que quites tu dedo. Esto se debe a que el hilo del UI está interceptando todos los eventos de dibujado en tiempo real.

Si repites este ejercicio en Android, notarás que el navegador tratará de animar la página y hacer render del HTML al mismo tiempo, y logra un resultado “ok” en ambas. En Android, este es un caso donde un eficiente procesador dual-core ayuda mucho, por eso es que el Galaxy S II es tan famoso por su fluidez.

Según Dianne Hackborn, parte del equipo de desarrollo de Android de Google, la aceleración por hardware, el rendimiendo del CPU+GPU y el tamaño de la pantalla son factores muy importantes a considerar para evaluar el lag del UI, sin embargo, Munn indica que hasta que no se cambie la forma en cómo se dibuja el UI, el lag siempre estará allí.

En mi opinión particular, yo veo este problema de la siguiente forma: Android realiza el render de UI en paralelo, con cada dibujado corriendo en un núcleo del CPU. Esto permite que el sistema dibuje varios elementos a la vez pero se ve afectada la cantidad de cuadros por segundo apreciables. iOS por otro lado, detiene el dibujado del UI cuando otro evento lo intercepta, como por ejemplo al hacer scroll en la pantalla, esto le permite enfocar el núcleo del CPU en un sólo dibujado, incrementando la cantidad de cuadros por segundo para una interfaz, pero permitiendo dibujar un sólo elemento a la vez.

Los dos sistemas operativos utilizan una metodología de dibujado distinta que trae algunos beneficios y desventajas. Sin embargo, viendo el lado positivo, genios como Romain Guy del equipo de Android, están constantemente buscando nuevas formas de mejorar el render del UI en Android. Será un largo proceso, pero Google tiene excelentes desarrolladores bajo su techo. Si alguien lo puede lograr, son ellos.

[Fuente: Google+, Google+]

4 respuestas a “Android podría nunca ser tan rápido como iOS, dice un ex-Googler”

  1. […] "CRITEO-300×250", 300, 250); 1 meneos Android podría nunca ser tan rápido como iOS, dice un ex-Googler http://www.androidmodo.com/4173/android-podria-nunca-ser-tan-rap…  por dannyherran hace […]

  2. Pues vaya decepción, la fluidez del escritorio es lo que mas me gusta de iOS

  3. he tenido la oportunidad de usar iOS 5.1 en una iphone 4 8g y rueda diezmil veces mejor que el motorola atrix con mas ram y el doble de procesador pero con android pienso que android es solo un bum para mi es un sistema operativo mas nada del otro mundo… 

Deja un comentario