Share, , Google Plus, Pinterest,

Posted in:

Sobre el por qué iOS, Windows Phone 7, QNX son más fluido que Android

Sobre el por qué Android es el SO más lento de todos

Sobre el por qué Android es el SO más lento de todos

Android, iOS, WP7, QNX y WebOS, mirando estas 5 maravillas de la tecnología nos salto una pregunta al aire ¿por qué iOS, Windows Phone 7, QNX y webOS son más fluidos que Android? Esto traerá comentarios por parte de los seguidores de los 5 sistemas operativos. Ahora, para comenzar con el análisis debemos ver esto como algo que tiene su razón de ser. Según Andrew Munn un joven ingeniero y ex integrante del equipo Android que ahora esta trabajando con Microsoft en WP7, nos dice:

[quote]“iOS la hace una renderización de la interfaz de usuario con un thread dedicado en tiempo real. Por otra parte, Android sigue el modelo de PC tradicionales de la representación de un theread que se asocia al  principal con prioridad normal.”[/quote]

De forma gráfica le mostramos lo que nuestro amigo Andrew nos quiere decir:

En la imagen de Android se ve claramente como los threads son manejados con la misma prioridad y a uno solo.  Sin embargo, los otros sistemas operativos tienen prioridades diferentes y threads dedicados.

Pero esto no es así por si solo, hay unas razones por la cual Android utiliza ese método.

  1. Aceleración:  La aceleración de hardware hace una gran diferencia en aplicaciones como la pantalla de arranque y el Android Market. La descarga de la prestación a la GPU también aumenta la duración de la batería, ya que las GPUs son hardware de función fija, por lo que operan con menor potencia.
  1. Basura [.tmp, cache, etc]: Si por ejemplo has usado una aplicación para fotos, según vas usándola ves como los “frames” por segundos [FPS] bajan su velocidad.
  1. Equipo:  El Tegra 2, pese a las afirmaciones de marketing grandioso de Nvidia, se ve perjudicado por el ancho de banda de memoria  y sin apoyo conjunto de instrucciones de NEON [instrucciones de neón son el equivalente ARM de SSE de Intel, que permiten una matriz matemática más rápido en la CPU].
  2. Madurez: Android tiene mucho camino por recorrer hacia una interfaz de usuario eficiente. En iOS, cada interfaz de usuario se procesa por separado y almacenado en la memoria, por lo que muchas animaciones sólo requieren de la GPU las opciones de la interfaz de usuario. El GPU es muy bueno en esto. Por desgracia, en Android la jerarquía de la interfaz de usuario hace un desbordamiento de pila antes de rendir, por lo que requieren en cada sección de animación volver a dibujar.
  3. La maquina Virtual: El Dalvik no es tan maduro como JVM de PC. Java es conocido por el rendimiento y la horrible interfaz gráfica de usuario en las PC.  Sin embargo, muchos de los temas no se traspasan a la aplicación Dalvik. Swing era terrible porque había una plataforma cruzada en la parte superior de las API nativas. Es interesante notar que el núcleo de Windows Phone 7 de la interfaz de usuario se basa en código nativo, a pesar de que el plan original era que se base exclusivamente en Silverlight, Microsoft finalmente decidió que para obtener el tipo de rendimiento necesario de la interfaz de usuario, el código tendría que ser natural.

Como podemos notar, Android tiene mucho que hacer. En la siguiente tabla vemos como Android ha crecido en sus 2 años desde su primera version 1.5.

Al ver la tabla anterior notamos la Fe que Google le tiene a su plataforma Android. Y no es para menos, es por esto que siempre nos deja con el sabor de querer ver más.

A Google le queda mucho trabajo y se espera que con la llegada del nuevo Android 4 Ice Cream Sandwich mejore un poco esta situación. Aunque realmente es una tarea bastante difícil dado que desde un principio, Android se pensó para una era pre-iPhone, una en donde solo existían Blackberries y los dispositivos no contaban con pantallas “multitouch”. Esto explica claramente el por qué la interfaz de usuario no tiene prioridad en Android.

Por último, Munn comenta que Android debería re-escribir todo ese código si quiere seguir con lo que siempre buscan, velocidad. Pero para esto es posible que, de no encontrar una solución, tengan que rehacer su ecosistema de aplicaciones para soportar “legacy code”.

¿Ustedes que piensan?

Share, , Google Plus, Pinterest,

Written by MrWass

Web Developer, JQuery, extJS,asp.net, vb.net,C#,flash AC,Database Designer, Windows Developer, SQLServer 2000-2008. MySQL, PHP, SQLIte, Android Developer.

7 posts

Comentarios de Facebook

comentarios