lunes, 26 de noviembre de 2012

Unidad de Procesamiento Gráfico (GPU) 
(en construcción)

Actualmente el desarrollo de teléfonos móviles se a concentrado en optimizarlos de tal manera que puedan correr juegos que cada año exigen de un mayor procesamiento gráfico.

Si bien existen consolas portátiles dedicadas al ámbito netamente de video juegos, los celulares año tras año les han quitado mercado, ya que no solo se puede llamar o tener aplicaciones varias, sino que con el avance de la tecnología, ahora cuentan con procesadores y tarjetas gráficas tan potentes que son capaces de correr juegos igual o mejores que los que ofrecen estas consolas portátiles.



Como se puede apreciar a partir de 2009 solo un 19% del mercado norteamericano estaba repartido entre dispositivos móviles con sistemas operativos iOS y Android el  11% y el 70% correspondía a consolas portátiles como Sony PSP y Nintendo DS respectivamente. En 2010 esta brecha siguió aumentando hasta llegar en 2011 a un 58% del mercado norteamericano de consolas portátiles  Tal vez estas no sean cifras mundiales, pero generalmente estados unidos es quien marca las tendencias en cuanto a la tecnología  es por esto que tal vez a nivel mundial la cosa no sea muy distinta. 

Para mi la tendencia me dice que las consolas portátiles probablemente se extingan quedando como única alternativa los celulares (smartphone) y tal vez los desarrolladores de juegos de empresas como Sony o Nintendo se dediquen a hacer sus juegos para plataformas como android o iOS.

¿Qué es la GPU?

Wikipedia define a la GPU o Unidad de Procesamiento Gráfico como:

"un coprocesador dedicado al procesamiento de gráficos u operaciones de coma flotante, para aligerar la carga de trabajo del procesador central en aplicaciones como los video juegos y o aplicaciones 3D interactivas."

De esta manera la GPU libera un poco de carga a la CPU, encargándose de toda la parte de procesamiento gráfico tan necesaria para correr video juegos.

Terminos que debes conocer

OpenGL ES: Es una variante simplificada de la API gráfica OpenGL que consiste en un conjnto de especificaciones estándar que definen una API multilenguaje y multiplataforma para escribir aplicaciones o juegos que producen gráficos en 3D. Diseñada especialemente para dispositivos integrados tales como teléfonos móvilesPDAs y consolas de videojuegos. La ultima versión en uso es OpenGL ES 3.0.

Cada versión nueva del OpenGL ES supone una mejora en los gráficos, de esta manera que un smartphone soporte las especificaciones de OpenGL ES mas actuales, significa que podrá correr juegos o aplicaciones con mejores gráficos. 

DirectX:  es una colección de API desarrolladas para facilitar las complejas tareas relacionadas con multimedia, especialmente programación de juegos y vídeo, en la plataforma Windows.

Los smartphone que soportan DirectX lo tienen para compatibilizar con sistemas operativos windows phone.

Open VG: Es una API, multiplataforma que proporciona una interfaz de hardware de bajo nivel de aceleración de gráficos vectoriales, contiene bibliotecas tales como Flash y SVG. 

OpenVG está dirigido principalmente a los dispositivos de mano (smartphone) que requieren una aceleración portátil de gráficos vectoriales de alta calidad, para interfaces de usuario atractivas y texto en dispositivos de pantalla pequeña - al tiempo que permite la aceleración de hardware para ofrecer un rendimiento interactivo de forma fluida a niveles de potencia muy bajos.

La API OpenVG debe ser útil para definir sprites, fondos y texturas para su uso en juegos 2D y 3D.

OpenCL: Mejora en gran medida la velocidad y capacidad de respuesta para una amplia gama de aplicaciones en numerosos sectores que van desde juegos y entretenimiento hasta software científico y médico.

Ultima versión OpenCL 1.2.

GPUs  variedades y características

Existe una gran cantidad de GPUs presentes en el mercado, por un tema de tiempo veremos solos las mas usadas en los dispositivos moviles y en algunos casos trataré de proporcionar informacion acerca de los GPUs mejor evaluados segun expertos y benchmark, para concluir dando luces de los nuevos GPUs que saldran al mercado el proximo año.

GPU Adreno

La ultima versión conocida de esta GPU tiene por nombre Adreno 320, desarrollado por la empresa norteamericana Qualcomm.

Esta GPU  a sido integrada en procesadores QuadCore S4 Pro SoC

El rendimiento del Adreno 320 es aproximadamente el doble que su antecesor el Adreno 225 que era parte del SoC S4. Es compatible con OpenGL 3.0, OpenCL 1.2, DirectX y ofrece soporte de video 3D y  1080p 


GPU Mali

La Mali-450MP es la predecesora de la Mali 400 integrada en los procesadores Exynos de Samsung.

Entre las caracteristicas destacables podemos mencionar que puede ser configurada con hasta 8 nucleos con 8kb de cache L2 por nucleo. Es capaz de ofrecer 104 millones de triángulos por segundo, y 3,8G pixels/s.

la Mali-450 MP soporta anti-aliasing x4 sin, virtualmente, descenso del rendimiento  y también AA x16 sin olvidar su compatibilidad con OpenGL ES 1.1/2.0 y OpenVG 1.1.




Las ultimas versiones que se vienen al mercado son la Mali-T604 y Mali-T658 

Entre las caracteristicas importantes que se destacan de la Mali-T658 estan:

Soporte para Microsoft DirectX 11, Khronos OpenGL ES, OpenVG, Khronos OpenCL, Google Renderscript y DirectCompute.






GPU PowerVR 

PowerVR SGX 544, GPU incorporada en procesadores OMAP de Texas instruments. Posee soporte para DirectX, OpenGL ES 2.0, Open VG 1.1 y OpenCL 1.1.


GPU ULP Geforce 

ULP Geforce es un GPU integrado en procesadores Tegra de Nvidia. Soporta OpenGL 2.0, OpenVG 1.1, EGL 1.4.


GPU Benchmark  

En este apartado mostraremos los resultados arrojados por los test: GlBenchmark 2.1.4 Egypt offscreen y GlBenchmark 2.1.4 Pro offscreen, que son test para medir el rendimiento gráfico entre otras cosas. 

Se seleccionaron los siguientes telefonos para la realizacion de la prueba, cada uno con diferente GPU.


  • Samsung GT-i9300: Exynos 4412 (quad-core A9, Mali-400)
  • HTC One X: Tegra 3 (quad-core A9, GeForce GPU)
  • HTC One S: Snapdragon S4 (dual-core Krait, Adreno 225)
  • Samsung Galaxy S II Skyrocket: Snapdragon S3 (dual-core Scorpion CPU, Adreno 220)
  • Samsung Galaxy Nexus: OMAP4 (dual-core A9, PowerVR SGX540)
Los resultados en cada prueba fueron los siguientes:








Los resultados como se pueden apreciar corren a favor de la Mali-400. 

De todos modos para los que no se convencen con estos resultados, existe una pagina web dedicada a esto de los Benchmark, donde se puede ver precisamente los diferentes GPU del mercado y su correspondiente puntuacion de acuerdo a los diferentes test aplicados. La pagina en cuestión la obtienes pinchando aqui y el link que llega directo a la parte de GPUs lo puedes ver ingresando aqui


Comparativa Tegra 3 vs Snapdragon S4 en imagenes

El juego usado para la comparación se llama Shadowgun. 

shadowgunthd
                                    Shadowgun THD en Tegra 3


shadowgun_nothd
                           Shadowgun en Snapdragon S4

Al comparar las imagenes vemos que Tegra 3 posee mas detalles en el mundo 3D lo que conlleva a obtener mejores gráficos que el S4. Esto se debe a que Tegra trabaja en conjunto con los desarrolladores de juegos para crear versiones especificas para Tegra que se venden posteriormente en Tegra Zone. Los aportes de Tegra a los gráficos son muchos, podemos ver mejores efectos en el agua, humo, fuego, la física y en las luces, la armadura también es mucho mas elaborada que en S4. Hay un gran numero de juegos optimizados para el Tegra 3 y se espera seguir agregando muchos mas a finales de años. 








No hay comentarios:

Publicar un comentario