22.10.12

"Bigger is better" (Cuanto más grande mejor)

De Alberto Gutiérrez Martínez

Artículo 3. Comparativa de pantallas


Aunque la potencia de un smartphone puede ser lo primero a tener en cuenta por los "entendidos" en tecnología, la realidad es que la mayoría de los consumidores se fijarán en la pantalla del dispositivo como la principal razón para decidir si un smartphone es mejor que otro. Es lógico ya que es lo primero que entra por los ojos y a fin de cuentas es la forma que vamos a tener para interactuar con nuestro dispositivos (¡los teclados han muerto hace tiempo!).

Como comentábamos en artículos anteriores, existen ciertas creencias erróneas como que una cámara es mejor que otra por tener más megapíxeles, o que un procesador es más potente que otro por tener más cores (núcleos). Si pones 4 caballos lentos a tirar de un carro, irá más lento que uno con 2 caballos rápidos. Esto último es obvio, pero quizás no sea tan obvio que un carro tirado por 3 caballos rápidos y uno lento sea la opción más lenta de las 3 propuestas cuando hablamos de CPUs y GPUs. La arquitectura del hardware por tanto importa y no sólo se trata de incorporar los mejores componentes a un dispositivo sino de la integración entre ellos. Con respecto a la pantalla de estos smarphones, veremos que ocurre algo parecido.

Si comparamos el S3 con el iPhone 5 en cuanto a la pantalla, el resultado salta a la vista. La pantalla del S3 es espectacularmente grande. La del iPhone tiene 4” en diagonal contra 4,8”. Con una resolución en píxeles de 1.136x640 contra 1280x720. Además la pantalla del iPhone usa una tecnología completamente distinta a la del Galaxy S3, IPS LCD contra la tecnología PentTile AMOLED de Samsung. Ya veremos más sobre estas tecnologías más adelante.

En principio, una vez más (y van tres) al comparar las especificaciones de ambos dispositivos, una pantalla más grande, resolución 720p (¡formato exacto de vídeo HD!) y la supuestamente superior tecnología AMOLED parecería que el S3 sale ganando. Una vez más, veremos que no es así, el S3 sólo tiene una pantalla más grande, pero pierde en absolutamente todas las comparativas con la pantalla del iPhone 5.

Quizás no parezca tan sencillo comparar pantallas de forma objetiva como en los artículos anteriores, pero en realidad sí lo es ya que existen los parámetros y los medios técnicos necesarios para dar una respuesta objetiva a esta pregunta (¡incluso para algo tan subjetivo como el color!). Dichos medios técnicos sólo están al alcance de laboratorios especializados y nos hemos hecho eco para este artículo de los resultados obtenidos de la comparativa realizada por los laboratorios Display Mate entre ambos smartphones. Los expertos de Display Mate son la referencia mundial en análisis de pantallas desde la aparición de las primeras cámaras digitales, iPods, etc. Vamos a intentar no obstante, acercar los amplios y complejos detalles técnicos que nos ofrecen sus experimentos de laboratorio con ambos smartphones para que cualquier los pueda entender.


El tamaño importa pero...


Desde que se concibe un nuevo iPhone hasta que éste sale al mercado pueden pasar cerca de 2 años. Y me refiero a un nuevo iPhone, no a la revisión que Apple saca de su terminal a la mitad de su ciclo de vida (3GS y 4S hasta el momento). Tengo la impresión de que en esta ocasión, la increíble competencia que ejercen compañías como Samsung o HTC le pilló a Apple desprevenido y de repente se vio sacado al mercado un smartphone con la pantalla más pequeña de todos los buques insignia de la competencia. La tendencia del mercado es fijar el tamaño estándar de las pantallas de los smartphones cerca de las 5”, mientras que Apple ha apostado por hacer un dispositivo más compacto, delgado y ligero (algo desde el punto de vista de la ingeniería mucho más complicado por cierto). Sin embargo, de repente se ha encontrado ante al consumidor con un terminal que parece empequeñecido ante los smartphones de la competencia (En el momento de escribir este artículo, HTC acaba de presentar su J Butterfly con una pantalla 1080p de 444 píxeles por pulgada!). Una vez más Apple nada contracorriente y hace una apuesta completamente diferenciadora, y explica al consumidor lo incómodos que son esos terminales que apenas pueden ser manejados con una sola mano como eje central de su propaganda, que no sólo se mencionó en la presentación oficial de su terminal, sino que también les ha llevado a crear un ingenioso anuncio:




Aunque personalmente no encuentro incómodo el tamaño del S3, sí que parece que hay gente que lo tiene muy claro, y cree que la apuesta de Apple es acertada. Esto es algo completamente subjetivo y es cuestión de gustos, así que pasemos a valorar las características de ambas pantallas desde un punto de vista más objetivo.


Para gustos se hicieron los colores


Sólo un año después de que Windows 95 estuviera revolucionando el mundo de los ordenadores personales (que por cierto llevaría a Apple a sus años más oscuros), Microsoft junto con Hewlett Packard definieron el perfil de color sRGB. Este perfil de color definiría un estándar para los monitores CRTs de la época (esos “mamotretos” que usábamos todos hace relativamente poco tiempo y que ahora nos parecen lavadoras..), pero también “ponía de acuerdo” a las impresoras con el ordenador para que los colores que viéramos por pantalla se parecían en la medida de lo posible a los que veíamos en nuestras recién estrenadas (y carísimas) impresoras a color. También fue el estándar de color elegido para las imágenes de Internet. Curiosamente ese estándar ha sido tan extendido en el mundo digital, que incluso aunque Apple definió su propio perfil de color (bautizado de forma nada original como Apple RGB), resulta que más de 15 años después, las pantallas de todos los smartphones (incluidos los de Apple), intentan ajustarse lo más fielmente posible al espacio de colores que define el sRGB.

RGB es un acrónimo para Red, Green Blue, y es una de las muchas maneras que se conocen de conseguir diferentes colores (en este caso mediante mezcla aditiva). Algo parecido a lo que hacíamos en la guardería al mezclar amarillo y el rojo que para nuestra sorpresa se convertía en naranja!. Pues resulta que mezclando millones de puntos microscópicos (píxeles) de estos 3 colores básicos podemos obtener desde 16 colores distintos hasta millones de colores distintos...PERO siempre menos colores de los que el ojo humano puede distinguir. Esa es la razón de que existen otras maneras de representar los colores (por ejemplo, CMYK, que se emplea en las imprentas profesionales).

La forma de representar los colores que “intenta” imitar nuestro iPhone 5 o nuestro S3, es el mencionado perfil sRGB, que junto a los colores primarios Rojo, Verde y Azul, a un valor Gamma fijo, y a lo que se llama un punto Blanco, define el espacio de colores (Color Gamut) que se puede ver en la siguiente imagen.



En la imagen podemos observar cómo el triángulo sRGB engloba a sólo una parte de los colores del espectro visible que un ojo humano perfecto podría distinguir, pero además podemos ver cerca del centro del triángulo un punto blanco llamado D65 que debe su nombre a que es el color blanco medido bajo unas condiciones atmosféricas concretas con una temperatura de color de 6500 grados Kelvin. Si la temperatura de color sube de esa temperatura veremos un blanco que tiende a ser azulado, y si baja de temperatura será un color más cálido (amarillento).

Ahora que conocemos un poco de teoría del color, hablemos de las pruebas experimentales de Display Mate. En ellas se sacan las siguientes conclusiones:

  • El iPhone 5 consigue un blanco muy fiel (6.872K) contra un blanco completamente azulado del S3 (7.900K). (El valor ideal sería 6.500K)
  • El iPhone 5 consigue el espacio de color sRGB en casi un 99%, mientras que el S3 lo consigue en un 138% (lo bueno aquí sería el 100%). Esto significa que los colores del S3 están sobresaturados y son irreales. Display Mate lo compara con ajustar la saturación de colores de tu HDTV al tope (pero sin oportunidad de bajarla!).
  • El iPhone 5 (y sobre todo el iPad 3), tienen una calidad de colores tan buena, que pueden ser utilizados como monitores profesionales de fotografía (siempre que éstas usen el perfil sRGB).
  • El S3, además de tener una saturación de colores exagerada, encima ésta no es homogénea, y los colores verdes se saturan más que los demás.
  • Se puede ver aquí una comparativa entre los últimos dispositivos de Apple y el S3 en cuanto a fidelidad para reproducir el perfil sRGB.


¿AMOLED o IPS LCD?


Estamos en un momento muy parecido a cuando empezamos a ver los monitores planos TFT/LCD, en un mundo dominado por los monitores/lavadora CRT. Ningún diseñador en su sano juicio hubiera cambiado su CRT por un TFT de la época, ya que la calidad de los colores y la resolución eran muy pobres. Tuvieron que pasar años antes de que la calidad los monitores “planos” fuera al menos igual que las de los CRT a un precio que no fuera prohibitivo. Eso es lo que está ocurriendo en este momento entre la tecnología AMOLED y la tecnología LCD. La primera se encuentra en un período de inmadurez y constante evolución, mientras que la segunda ha alcanzado su madurez hace tiempo y encima la tecnología IPS (in-plane switching) supone una mejora sobre la tecnología LCD convencional. La diferencia más importante entre ambas, es que LCD necesita una luz de respaldo (backlight), que en las pantallas más avanzadas viene proporcionada por LEDs, mientras que en la tecnología AMOLED esto no es necesario pues cada píxel es un diodo emisor de luz (Ligtht Emitting Diode), pudiendo hacer pantallas mucho más delgadas  al no necesitar de una óptica compleja como las pantallas LCD.

Aunque no tardaremos en ver pantallas de 55” con tecnología AMOLED, en la actualidad son prohibitivas, pero no lo son tanto en tamaños de 5” o menos como el panel que trae el S3 y menos si éstos son producidos en grandes cantidades. Sin embargo, a pesar de que el S3 tiene una pantalla con una tecnología supuestamente superior, realmente está totalmente desaprovechada por dos razones:

  • La batería del S3 no es suficiente para sacar provecho a la pantalla AMOLED y el hardware reduce automáticamente el brillo hasta un 30% cuando las imágenes mostradas son muy brillantes (simplemente un navegador web con fondo blanco y letras es reducido automáticamente en brillo).
  • Samsung no se ha preocupado en hacer una calibración precisa del perfil de color y no aprovecha el espacio de color que le podría ofrecer la pantalla.

Curiosamente, la pantalla AMOLED consume significativamente más o menos batería en función de las imágenes que se muestren por pantalla (concretamente según un factor llamado Average Picture Level). Por ejemplo, una fotografía o un vídeo hacen que la pantalla del S3 consuma incluso menos que la de un iPhone, pero una pantalla blanca o azulada consume tanto que el propio hardware baja automáticamente el brillo del panel.

En un experimento llevado a cabo por Display Mate con un iPhone4 a más del doble de brillo que un S3 mostrando simplemente una pantalla en blanco, tuvieron los siguientes resultados:

iPhone4:  541cd/m2  7,8 horas
S3:  224 cd/m2  5,6 horas

Aquí el verde es muy “Green”, ya que curiosamente debido a cómo funciona la tecnología AMOLED, provoca que si la imagen que se muestra contiene mucho color verde el panel consuma mucho menos!.

En general las pantallas AMOLED consiguen un mayor contraste que las pantallas LCD pero no consiguen el mismo brillo que éstas últimas. Los resultados de los experimentos de Display Mate indican que:

  • La pantalla del S3 brilla aproximadamente la mitad que la del iPhone 5
  • El contraste del S3 es imbatible en condiciones de baja luminosidad (situación bastante rara). Es normal porque la tecnología AMOLED simplemente apaga sus píxeles para mostrar colores como el negro mientras que la tecnología LCD tiene siempre luz de fondo (backlight).
  • El contraste del iPhone 5 es mucho mejor en condiciones de luminosidad ambiental alta (por ejemplo en la calle) y la legibilidad de la pantalla es superior.
  • La pantalla del iPhone 5 refleja menos que la del S3.



Resolución de pantalla y el “truco” PenTile:


Si bien es verdad que la resolución de pantalla del iPhone 5 es inferior a la del S3, existe otra medida más significativa para medir la calidad de una pantalla en cuanto a la nitidez que ésta puede mostrar, que es la densidad de píxeles por pulgada (PPI). A mayor número, significa que la pantalla es capaz de mostrar con más nitidez las imágenes. Esto toma especial relevancia a la hora de mostrar texto, ya que un número bajo de PPIs daría la sensación de que el texto se viera borroso. En ambos terminales el número de PPIs se encuentra por encima de lo que el ojo humano suele percibir para ver continuidad en algo que en realidad no la tiene (ya que los gráficos mostrados están creados a partir de puntos que suponen un sistema discontinuo). El ojo humano “cae en el truco” a partir de 300 PPIs. En el caso del iPhone 5 tenemos 326 y en el caso del S3 306 PPIs. Sin embargo, el S3 usa un panel AMOLED con tecnología PenTile, que permite un ahorro de costes en su producción al reducir el número de píxeles por pulgada para el color Rojo y el Azul. Por lo que en realidad el número de PPIs para estos colores es de 216. Aunque ambas pantallas tienen una nitidez impresionante, si se las compara se puede observar a simple vista que la pantalla del iPhone 5 muestra el texto con más nitidez que el S3.


Conclusiones:


Aunque respecto a la pantalla hay una parte completamente subjetiva como es el tamaño de la misma, y sobre la que estoy seguro podemos encontrar gran disparidad de opiniones. Existen unos datos objetivos y analizados por los expertos independientes de Display Mate que no sólo dan una nota superior a la pantalla del iPhone 5 (A) sobre la del S3 (B+), sino que el iPhone4, que llevaba en el mercado más de un año antes de que apareciera el S3, también recibe una nota superior a este (A-).

Aún está por ver si los consumidores prefieren un terminal del tamaño del iPhone 5 o del nuevo estándar impuesto por sus competidores más directos. Sin embargo, estoy convencido de que la mayoría de los usuarios acostumbrados a usar un S3 no se cambiarían a un iPhone 5 al encontrar la pantalla tremendamente pequeña.

Según hemos podido ver en el estudio de Display Mate las características técnicas de la pantalla del iPhone 5 son superiores y por tanto tenemos un 3-0 indiscutible para el iPhone 5. Muchas gracias por seguirnos en Ciberninja. La próxima semana seguiremos comparando ambos terminales de la forma más objetiva posible.


15.10.12

¿Es mejor el iPhone 5 que el Samsung Galaxy SIII? (II)

De Ángel Rodríguez Monterrubio

En nuestro primer artículo de la comparativa de estos dos dispositivos, hemos visto la relación de rendimiento para la CPU. Digamos, que conociendo el desempeño de la CPU de un dispositivo móvil podremos saber cómo va a responder éste a las tareas de la vida diaria, tareas que podríamos incluir dentro de lo que se puede considerar "trabajo".

Una de las razones de la explosión del mercado de dispositivos móviles no está, no obstante, en el mercado empresarial. De hecho, grandes marcas como Microsoft han abandonado este target por acceder al mercado mainstream, http://wmpoweruser.com

A este mercado le interesa sólo una cosa, estar siempre conectado, divertirse y disponer de un dispositivo con capacidades insospechadas. Es ahí donde entra una GPU, en la diversión y las capacidades insospechadas: una GPU potente no solo nos permite jugar a juegos de última generación en 3D y adaptaciones de las principales plataformas, sino que permite a nuestro dispositivo aplicar filtros fotográficos e incluso, disponer de visión artificial de una manera impensable hace unos años, en un dispositivo de las dimensiones de un teléfono móvil.

Si bien es cierto que para que el sistema fluya y la interactividad no se vea afectada es necesario un buen rendimiento de la GPU, veremos que la fuerza bruta integrada en estos dispositivos, supera con creces las necesidades básicas de rendimiento de la interfaz.


 

Artículo 2: PowerVr SGX543MP3 (iPhone 5) Vs Mali-400 (Samsung Galaxy SIII): Fight!!

Si el procesador es el corazón de un dispositivo, la GPU es su "alma". Es la GPU la que dictaminará si un dispositivo es algo más que una herramienta para trabajar. Algo más que una extensión de nuestra oficina, algo más que un teléfono espabilado.

La implementación de una GPU en un dispositivo móvil se enfrenta a retos importantes, tales como alcanzar el tamaño mínimo posible y la mejor distribución dentro del SoC, así como unos consumos muy pequeños y unos recursos de memoria RAM (velocidad de acceso y capacidad) en ocasiones algo limitados.

Veamos entonces qué tiene que ofrecer cada dispositivo en esta área. 


Especificaciones Hardware

Mali 400

La configuración que implementa el SoC (System on Chip) Exynos 4412 de Samsung incluye 4 Núcleos de esta GPU. Para este modelo, este es el número máximo de núcleos soportados por la arquitectura.

Soporta OpenGL ES 1.1 y OpenGL ES 2.0, sin soporte para DirectX (algo totalmente irrelevante en la plataforma que estamos considerando). Las plataformas móviles soportan OpenGL desde los primeros terminales que incorporaron el 3D, se trata de las herramientas que usan los programadores para crear los mundos virtuales 3D de nuestras aplicaciones y juegos. OpenGL tiene su origen en los impresionantes ordenadores Silicon Graphics con los que por ejemplo se crearon las primeras escenas 3D realistas del cine como las de Terminator 2 o los dinosaurios de Jurasic Park...ahora llevamos esa potencia en la palma de la mano! . DirectX fue la respuesta a OpenGL de Microsoft para el mundo Windows y por tanto no es aplicable en la plataforma considerada. OpenGL es un estándar abierto que describe unas características específicas, que cualquier fabricante puede adoptar en la fabricación de su GPU.

Las especificaciones del fabricante indican que puede realizar 4x Anti-Aliasing sin causar caída de rendimiento. El Anti-Aliasing permite mostrar gráficos más definidos sin los típicos dientes de sierra que todos recordamos de los juegos antiguos; cuantas más veces se aplique el efecto, más definidos serán los gráficos. Dispone de hasta 256KB de memoria caché de L2 optimizada para el tráfico de datos gráficos. La velocidad de reloj indicada es de 240 MHz. Las especificaciones del fabricante indican que la tecnología de fabricación es de 65 nm, aunque todo parece indicar que el SoC de Samsung está fabricado con tecnología propia de 32 nm.

Las especificaciones sobre el papel nos dicen que puede generar 30M triángulos por segundo y hasta 1.6Gpx por segundo.


PowerVr SGX543MP3

La GPU del iPhone 5 ha estado rodeada de un halo de misterio. Algo que en general sucede con los productos de la marca de la manzana.  No ha sido hasta septiembre cuando se ha podido confirmar que en efecto se trata de la GPU de la que estamos hablando. Cuando la rumorología alrededor del iPhone 5 comenzó a circular, se le atribuía la posibilidad de la integración de una GPU de la serie 6X, llamada "Rogue", que, como podemos ver finalmente ha sido descartada.

Como su nombre indica (MP3) implementa 3 núcleos. Para este componente, su arquitectura puede soportar la friolera de hasta 16 núcleos. Cada núcleo corre a la velocidad de 200Mhz. Su memoria cache de L2 cuenta con hasta 128 KB, optimizada igualmente para trabajo gráfico. Soporta OpenGL ES 2.0 y OpenGL 1.1 + Extension Pack como APIs nativas embebidas. Igualmente soporta trabajar con DirectX9 y 10.1, aunque no es relevante para la plataforma considerada. No existe información de las capacidades Anti-Aliasing, aunque por las pruebas realizadas, si bien su valor nominal no es conocido, el resultado, al ojo desnudo es el mismo que para Mali-400. La tecnología de integración es de 32nm.

Teóricamente esta GPU está capacitada para generar hasta 35M triángulos por segundo y hasta 1 Gpx por segundo.


Por tanto... 

Es importante indicar que a la vista de las especificaciones y siendo exigente en este apartado, ambos fabricantes han sido "tibios". Han aplicado una implementación de GPU probada y madura, pero no de última generación. Ambos podían optar por otras implementaciones, por ejemplo en el caso de Apple, por la GPU PowerVR serie 6 "Rogue" atribuída por la rumorología.

¿Quizá el tiempo de las revoluciones en el sector ha pasado?





En un primer vistazo, con datos teóricos y sobre el papel, la implementación escogida por Samsung parece superior a la escogida por Apple. Pero el papel lo aguanta todo, y nosotros vamos a realizar una serie de Benchmarkings, para sacarle los colores a las dos integraciones.

El Benchmarking 

Para probar ambas GPUs hemos utilizado la herramienta GLBenchmark 2.5 con soporte para iPhone y Android. Esta herramienta realiza una serie de pruebas sobre los dispositivos utilizando OpenGL.

Las pruebas realizadas miden capacidades de renderizado gráfico y de computación, principalmente centrados en la utilización de recursos gráficos.

Se realizan dos pruebas de bajo nivel. Una para comprobar la cantidad de píxeles que se pueden generar por segundo o Fill Rate. La segunda mide la capacidad de crear figuras y escenarios de 3D con la generación de triángulos.

Tambien se realizan pruebas de alto nivel renderizando animaciones detalladas en 3D.

Mas información sobre la herramienta de test puede ser encontrada en http://www.glbenchmark.com 


Sacando los "Colores" 

Las pruebas de rendimiento las hemos dividido en dos conjuntos: primitivas gráficas o de bajo nivel, y renderizado de animación en 3D, ambas con diferentes formatos.

Veamos los resultados...

Benchmarking de bajo nivel

En estas pruebas se verifica la capacidad de la GPU para ejecutar Fill Rate y generación de triángulos.

El fillrate suele ser como norma general el mejor indicador de rendimiento de una GPU, al menos en capacidad bruta de procesado de píxel. Mide el número de píxeles que pueden ser renderizados y escritos en la memoria de video.

Renderizado significa aplicar al píxel las texturas correspondientes, material de la superficie a la que pertenece, iluminación etc. Por ello normalmente solemos hablar de texels. En ocasiones problemas de rendimiento, como por ejemplo cuando los frames por segundo o fotogramas por segundo caen o ascienden dramáticamente con cambios de resolución, se está enmascarando un problema en la capacidad de generación de texels.

La generación de triángulos mide la capacidad bruta de construcción de un entorno 3D. Para que el test sea coherente, es necesario verificar diferentes formas de construirlos. En los test que realiza GLBenchmark se utilizan tres diferentes, creando en cada caso diferentes distribuciones de triángulos. El primero genera triángulos sencillos. Los otros dos ,Vertex y Fragment, generan configuraciones de triángulos más realistas y siendo por tanto computacionalmente más complejos.

Estamos insistiendo en el concepto de capacidad bruta, debido a que estos test miden por separado operaciones que la GPU siempre realiza en conjunto: renderizado de píxels y construcción de polígonos. Los resultados de estos test miden la máxima capacidad de la GPU en cada área.

En el siguiente gráfico podemos ver los resultados del test. Sorprende la gran diferencia de rendimiento bruto del iPhone 5 sobre el Samsung Galaxy SIII.





Los resultados del Benchmark de bajo nivel hablan por si solos. La GPU PowerVr SGX543, tiene un rendimiento abrumador en comparación con la GPU Mali-400.

Animación en 3D 

Sin embargo no todo el rendimiento GPU es operaciones de cálculo y geometría. El conjunto tiene que funcionar como una orquesta sinfónica, armónicamente, y producir un resultado que esté en consonancia con su potencia tanto teórica como práctica.

El benchmark basado en la animación 3D realiza todas las operaciones que como norma general se requieren de una GPU: traslaciones, rotaciones, cambios de cámara, cambios de iluminación y en ocasiones física de partículas y movimientos de entorno (telas, pelo etc.)

Se han realizado 3 Benchmark en alta resolución y uno en baja resolución denominado "Classic". Todos ellos prueban aspectos técnicos diferentes, pero obtenemos al final un resultado claramente visible por el usuario: los frames por segundo o fotogramas por segundo. En la siguiente tabla podemos ver el resultado de este Benchmark 





En esta prueba, que era de esperar tras el resultado en fuerza bruta, podemos ver que una vez más el iPhone 5 tiene un rendimiento mucho mayor que el dispositivo de Samsung.

Es importante indicar que la diferencia de resoluciones entre el Samsung Galaxy SIII y el iPhone 5, implica que el SIII tiene un 25% más de píxeles con los que trabajar. Esto podría justificar una parte de la diferencia entre ambos dispositivos, si bien el resultado final sigue favoreciendo al Iphone 5.

Para que se pueda apreciar y traducir estos números en experiencia real hemos realizado esta comparativa que os presentamos en vídeo




video


Conclusión

No hay mucho que añadir como conclusión, el iPhone tiene un rendimiento gráfico mejor,  significativamente mucho mejor.

Si estuviéramos hablando de GPU de equipos sobremesa o portátiles, esta comparativa sólo indicaría que ambos dispositivos juegan en ligas diferentes. El Samsung Galaxy SIII es un dispositivo correcto para un trabajo de oficina, pero su capacitación gráfica no puede ofrecer más. Ya hemos mencionado que ambos implementadores se han contenido en el uso de GPU en mayor o menor medida, pero la decisión de usar MALI-400 por parte de Samsung ha descabalgado de la competición del primer puesto al dispositivo.

El iPhone es, a pesar de la contención en la elección de la GPU, a mi modo de ver una nueva apuesta de Apple. Veamos las siguientes especificaciones:


  • CPU: ARM(R) Cortex(TM)-A9 core (4 core)
  • GPU: SGX543MP4+
     
¿A qué corresponden...? Pues a la consola portátil PSVita de Sony. Si nos fijamos en su GPU veremos que es de la misma familia que la del iPhone 5, al igual que la CPU si bien ésta es algo inferior en prestaciones. No es posible comparar ambos dispositivos, pues estos SI que juegan en ligas claramente diferentes.

¿Es el iPhone 5 una prueba de concepto para asaltar el mundo del gaming portátil...?

El resultado de esta prueba totalmente objetiva, nos deja el marcador 2- 0 a favor del iPhone 5. En el próximo artículo compararemos algo también fundamental a la hora de decidirse por un smart phone como es la pantalla. ¿Quién ganará el tercer asalto?. La respuesta la próxima semana...gracias por seguirnos en Ciberninja.




8.10.12

¿Es mejor el iPhone 5 que el Samsung Galaxy SIII?

De Alberto Gutiérrez Martínez

 


En esta serie de artículos intentaré responder a esta controvertida pregunta, de la forma
más objetiva posible. Uso un iPhone desde el modelo americano de 2007, y soy programador y formador en iOS desde 2008. También soy consultor certificado por Apple en "iPhone and iPad technical training". Sin embargo, desde que nació Android y ni siquiera existía un terminal real que lo ejecutara, llamó mi atención tanto que tuve que aprender a programar en esta tecnología y he impartido formación avanzada desde sus primeras versiones. Mi pasión por los móviles viene desde que pude programar uno de los primeros Nokia que soportaban J2ME, tecnología en la que también impartí formación desde 2003 hasta que la tecnología dejó de ser interesante. Con estos antecedentes creo que tengo el conocimiento necesario para dar una respuesta formada a la pregunta planteada. Empecemos por lo fácil, el hardware....

Artículo 1: Rendimiento del CHIPSET:

 

Sin duda el corazón de cualquier dispositivo es el procesador que ejecuta el sistema operativo que lo gobierna. En este sentido estamos ante auténticas "bestias" ya que ambos dispositivos son respectivamente el buque insignia de ambas compañías. En el caso de los dispositivos móviles no se puede hablar sólo de que incorporen uno u otro procesador ya que en realidad traen un chipset que incluye en un único chip una auténtica placa madre, llamada SoC (System on Chip), con su tarjeta gráfica (GPU) totalmente integrada en el mismo.

El S3 monta un chipset Exynos 4412 con un procesador ARM de 1,4Ghz y 4 núcleos. El iPhone 5 por su parte monta un chipset A6 basado también en un procesador ARM de 1,3Ghz y 2 núcleos. Aunque en principio pueda parecer que el S3 está mejor equipado, en realidad como se puede ver en los resultados de las pruebas realizadas, sale perdiendo en el cómputo general. El S3 suele destacar en las pruebas "multi-core" en las que cuenta con el doble de núcleos que el iPhone, sin embargo incluso en algunas de ellas gana éste último, pese a tener menos núcleos, sin duda esto ocurre porque la arquitectura del chipset es más importante que el número de núcleos y la frecuencia del reloj. (Es un caso similar al que sucede con las cámaras digitales, en las que todavía muchos piensan que una cámara es mejor que otra por tener un número mayor de Megapíxeles).

Curiosamente, uno de los fabricantes del chipset A6 de Apple es Samsung, que a pesar de estar basado en un procesador ARM conocido y al alcance de cualquier fabricante (el Cortex-A15 CPU) tiene modificaciones a medida diseñadas por los ingenieros de Apple que mejoran su integración en la arquitectura del chipset A6. Apple dispone del know-how necesario para mejorar los chips existentes en el mercado gracias a que ha ido adquiriendo varias compañías del sector (PA Semi, Intrinsity, Anobit y AuthenTec).

Como se puede ver en el plano del chipset A6 obtenido mediante ingeniería inversa usando instrumentos sólo al alcance de empresas como Chipworks, el A6 de Apple incorpora 3 núcleos de su GPU PowerVR ( gráfica presente en todos los iPhones desde el primero).

De esta forma podemos decir que el A6 está compuesto por 5 cores, 2 para procesamiento general, y 3 para procesamiento vectorial (no sólo utilizado para juegos en 3D sino para cálculos matriciales paralelizables como por ejemplo aquellos relacionados con visión artificial como es la detección de caras, la aplicación de filtros a las fotos, procesado digital de señales, etc). Es también reseñable que ahora el A6 incluye 1Gb de memoria RAM, exactamente el doble que el iPhone4 y el iPhone4S.

En el caso del chipset Exynos 4412, tenemos 4 núcleos pero de un procesador ARM inferior al del iPhone 5 (el Cortex A9 en lugar del A15). La GPU es de 4 núcleos también y fabricada por ARM, la Mali 400 MP. Tiene 1Gb de RAM, aunque existen versiones del terminal, como el que se vende en Japón, que traen 2Gb de RAM.

 

PRUEBA DE RENDIMIENTO DEL CHIPSET:

 



Para llevar a cabo las pruebas de rendimiento se ha usado un software de benchmarking disponible en ambas plataformas llamado GeekBench2. En las siguientes tablas se pueden ver los resultados obtenidos en ambos dispositivos que dan como claro ganador al iPhone 5 (1635 contra 1317 puntos)

 
  


PRUEBA DE RENDIMIENTO DEL ENGINE JAVASCRIPT DE SAFARI MOBILE:

Una de las pruebas realizadas sobre el iPhone 5 que más han sorprendido a la comunidad, son las relacionadas con el rendimiento del engine de JavaScript, que no sólo mejoran con creces las cifras del S3 en este aspecto, sino que son las mejores jamás medidas en un smartphone ([1] http://www.anandtech.com/show/6309/iphone-5a6-sunspider-performance). El famoso test en cuestión (llamado SunSpider) arrojó los resultados que se pueden ver en la siguiente tabla:


Para probar en la práctica la supuesta superioridad del iPhone 5, probamos a cargar una Web al mismo tiempo en un iPhone4S, un iPhone5 y un Samsung Galaxy S3 que usaban la misma red WiFi, y en los que habíamos borrado previamente la caché del navegador. El resultado de cargar la web [2] http://www.flagsavia.net fue este:


video

Contra todo pronóstico incluso el iPhone4S cargó antes la página.

CONCLUSIONES:

En este primer artículo nos hemos centrado en uno de los aspectos clave que determinan si un dispositivo es mejor que otro como es su rendimiento. En este sentido no hay duda de que el claro vencedor es el iPhone 5. Apple ha hecho un gran esfuerzo para conseguir este logro, no sólo a nivel de la arquitectura y la electrónica del A6 (incluyendo por ejemplo memorias caché L1 y L2), sino que fiel a su estilo, la diferencia está en el software. A la hora de compilar el software para iPhone5, la ultima versión de su herramienta de desarrollo XCode, genera binarios que usan el nuevo conjunto de instrucciones ARMv7S. Se trata de un superconjunto del set de instrucciones soportado por su chipset anterior, el A5, (presente en el iPhone4S), y que presenta optimizaciones importantes por ejemplo en el cálculo de divisiones de enteros y de aritmética de punto flotante ([3] http://www.primatelabs.com/blog/2012/09/apple-a6).

En próximas entregas trataremos otros aspectos importantes para tomar la decisión final de cuál de los dos terminales se lleva la palma, (calidad de la cámara, pantalla, sensores, seguridad, sistema operativo, etc). De momento tenemos un indiscutible 1-0 para el iPhone 5. 
Gracias por seguirnos en Ciberninjas!


1.10.12

Jugando a romper claves con tarjetas gráficas

Publicado en las jornadas de Avances de Seguridad en Internet, ASI10, en Marzo de 2012, de Ángel Rodríguez Monterrubio.

 

1 ASI 10 (2012) GPU CRACKING

A lo largo de la historia, se pueden encontrar multitud de ejemplos donde una parte esta interesada en ocultar información, y otra parte está interesada en revelar esa información oculta. Criptografía y Criptoanálisis son las áreas del conocimiento humano que respectivamente intentan ocultar y revelar. Ver por ejemplo La Criptografía de Julio César y el Kamasutra.

Podemos definir un criptosistema como el sistema formado por un conjunto de mensajes sin cifrar, unos mensajes cifrados y unas claves; estos elementos se relacionarán entre sí por la manera de cifrar y por la manera de descifrar. Criptoanálisis se puede considerar por tanto como los mecanismos que permite romper un criptosistema. Sin entrar en detalles, todas las técnicas de criptoanálisis, en mayor o menor medida, comparten la repetición de la misma operación sobre, idealmente, grandes conjuntos de datos.

Es en este aspecto, en el de la ejecución de la misma tarea sobre una gran cantidad de datos donde la relación entre GPU y Criptoanálisis es más estrecha.

Las tarjetas gráficas no solo sirven para jugar a juegos increíbles, es su principal función sí, pero están a su vez dotadas de un interesante efecto colateral: Una brutal capacidad de cálculo en paralelo. Esta capacidad de cálculo ha evolucionado espectacularmente a lo largo de los últimos años, sobrepasando incluso la ley de Moore en lo que a Operaciones Por Segundo se refiere. La GPU  geForce GTX 480, por ejemplo, alcanza las 1400 GFLOPS (Giga Floatingpoint OPS), muy por encima de un Westmere (i7) que no alcanza las 250 GFLOPS. Los mismos datos se pueden aportar respecto del ancho de banda para procesado de datos, cerca de 180 GB/s frente a los cerca de 40 GB para el i7. Y continúa creciendo, incluso mientras lees este artículo.



Esto hace que se disponga a nivel doméstico y por poco más de 400 € de una capacidad de cálculo imposible de concebir hace unos años. En consecuencia, criptosistemas robustos o considerados robustos pueden verse comprometidos, ya no solo por los grandes centros de investigación, si no a nivel "ambulatorio" por cualquier individuo interesado, en su propio domicilio.

Una GPUs es un procesador de propósito específico. Su objetivo es la renderización de entornos 3D en tiempo real, ejecutando la misma operación sobre grandes conjuntos de datos. Es ordinario que estos dispositivos tengan varios GB solo para el procesado de datos, del orden de 1 GB, aunque versiones profesionales pueden llegar a los 4GB. Esta memoria suele ser de alta velocidad de acceso y transferencia.

En la layout del los componentes de la GPU, se ha sacrificado espacio de control sofisticado y de caché, para aumentar la superficie dedicada a cómputo. Esto desemboca en una arquitectura de propósito específico con caches reducidas, elevado número de elementos de proceso y una optimización para acceso secuencial a los datos.



Existen tecnologías que nos permiten acceder a toda esta potencia de cálculo y realizar operaciones en paralelo sobre el dispositivo, abriendo así unas increíbles posibilidades para el GPU cracking o criptoanálisis sobre GPUs. Estas tecnologías se basan en la ejecución de programas de manera bivalente, entre el CPU o HOST y la GPU. Prepararemos los datos en el HOST y desde allí los cargaremos en la GPU, ésta realizará los cálculos y recibiremos los datos de nuevo en el HOST para explotarlos como consideremos necesarios. Será la GPU la encargada de ejecutar en paralelo y sobre los conjuntos de datos extensos operaciones en unos tiempos varios ordenes de magnitud inferiores a una ejecución en el HOST. Incluso es posible convertir en tratable un problema que computacionalmente se ha considerado como intratable de manera general.

Para trabajar sobre la GPU podemos contar con la tecnología Compute Unified Device Architecture (CUDA), de nVdia, aunque existe también una tecnología equivalente para las GPUs AMD.

La arquitectura CUDA arranca en los motores de computación paralela dentro de las GPUs, el autentico horsepower de computación de una GPU.  A través del Driver del dispositivo y el soporte del núcleo del sistema operativo, es posible cargar  el código nativo que será ejecutado por la GPU.  El código nativo que ejecuta la GPU no es más que una versión de C con extensiones para CUDA, compilado para poder ser ejecutada en ésta.

Internamente la arquitectura de la GPU esta dividida en varios Stream Multiprocessors o SM. En un SM puede haber hasta 32 Streaming Processors para la ejecución de operaciones simples en paralelo y hasta 4 para la ejecución de funciones más complicadas. Además cada SM cuenta con circuitería para controlar la ejecución en paralelo, un banco de registros para los Stream Processors y un banco de memoria compartida. Cada SM podrá acceder a los datos almacenados en la memoria global del dispositivo,  que es algo mas lenta que la memoria compartida.

El modelo de memoria sigue una escala progresiva de manera que los registros de cada Streaming Processor son los más rápidos pero de tamaño mas reducido, la memoria compartida la siguiente en cuanto a velocidad, con algo más de tamaño, pero no demasiado (varios KB) y por último con gran capacidad y más lenta la memoria global del dispositivo.

Todo lo que hemos visto hasta aquí, puede resultar bastante familiar, sin embargo, donde cambia el paradigma es en el modelo de programación.  La pieza de código que será ejecutada en paralelo por los SM es conocida como kernel. Un kernel es una pieza de código que será ejecutada en paralelo por la GPU en un hilo de ejecución. El número de hilos o veces que se ejecutará nuestro kernel, en paralelo, depende de la extensión de nuestros datos.  Los hilos pueden agruparse, de tal manera que los hilos pertenecientes a un grupo acceden a la misma memoria compartida, y todos los hilos pueden acceder a la memoria global. Podemos decir por tanto que un Kernel es ejecutado N veces por N hilos que se agrupan en bloques. Dentro de cada bloque un hilo tiene unos índices que lo diferencian del resto. Es a través de esos índices en los que cada kernel accede a diferentes datos para su ejecución en paralelo.

El criptoanálisis, en cualquiera de sus formatos comparte gran cantidad de paralelismos con la computación en GPU. Los algoritmos de criptoanálisis ejecutan las misma operaciones de compromiso sobre grandes bloques de datos para poder intentar romper el criptosistema, precisamente el paradigma de ejecución en una GPU. A su vez la paralelización y ejecución en una GPU permite una reducción de tiempos considerables, en ocasiones de varios ordenes de magnitud, e incluso de hacer tratable un problema que no lo es.

El acceso a grandes capacidades de cómputo por el gran público, con la democratización de la capacidad de cálculo y las similitudes entre las herramientas de criptoanálisis y  el GPGPU Computing hace que estemos cerca de que los tiempos de rotura de los criptosistemas considerados seguros, estén en cierta medida comprometidos.

Existen multitud de herramientas que hacen uso de GPGPU para acelerar los cálculos necesarios para, por ejemplo, recuperar una contraseña. Éste es el caso de oclHashcat-plus (http://hashcat.net/oclhashcat-plus/) o de ighashgpu (http://www.golubev.com/hashgpu.htm) estas herramientas de password recovery (ó GPU cracking) hacen uso de la GPU ofreciendo recortes de tiempo espectaculares.

Mientras que sólo CPU tarda 4 días



Si utilizamos un software que utilice la aceleración en la GPU como ighashgpu (y tanto aceleración) para romper el password...,



en minutos...