¿Qué es Vulkan y por qué es bueno para Android? | La Cueva de Android


Esta noticia lleva ya varias semamas haciendo tremendo ruido en la comunidad Android, y es que no es para menos: en 2015 Google eligió a Vulkan como el sucesor de OpenGL ES para Android poniéndolo como el stack gráfico por defecto —manteniendo la retrocompatibilidad con OpenGL ES, claro—, siendo el recientemente lanzado Galaxy S7 el primer dispositivo en hacer uso de dicha tecnología.

Vulkan es una nueva API gráfica multiplataforma creada por el consorcio Khronos, ha sido ideada como el sucesor directo y definitivo de OpenGL, y como tal es libre y de código abierto, y principal competencia del DirectX 12 de Microsoft. Su elección en una plataforma tan grande como Android no sólo beneficiará a Android, sino también ayudará a que el desarrollo de Vulkan se expanda.

En general son buenas noticias y todo... Pero sé lo que están pensando, suena bien y eso; pero, ¿qué es es Vulkan y qué diablos es una API gráfica?. No te despegues de esta nota, porque te lo vamos a explicar de la mejor manera posible.

API gráfica... ¿Qué es eso? ¿Se come?

[youtube src="B-CdSuFZj1s" /]
Comencemos por saber primero qué es una API gráfica, ¿recuerdan al DirectX de Windows? Ya, eso es una API gráfica. ¿Y qué es esa dichosa API? Dicho en buen cristiano: una API gráfica es la parte del sistema que se encarga de renderizar o dibujar todo lo que ves en pantalla cuando ves un video o pierdes el tiempo en algún juego como Dead Effect 2 o Modern Combat 5. Para un desarrollador, es una herramienta fundamental a la hora de programar dichos juegos.

Ahora, la API gráfica por defecto de nuestro querido Android es OpenGL ES, una característica heredada directamente de Linux; el problema no es que no sea eficiente, el problema con OpenGL ES, según diversos especialistas y gamers, es que se ha quedado atrás en el tiempo y es debido a ello y a que no está adaptado a la tecnología actual que no logra exprimir como es debido la potencia gráfica de nuestros dispositivos Android, algunos más potentes incluso que muchas PCs de gama básica en el mercado.

Esto se debe a que OpenGL es una API gráfica de alto nivel —en el mundo de la informática y la programación, alto nivel es sinónimo de facilidad más no de rapidez—, lo cuál en estos días está resultando un inconveniente al no comunicarse tan directamente con el hardware, lo que hace una API o lenguaje de alto nivel es interpretar el código en un lenguaje digerible para que nuestra reluciente Adreno o PowerVR lo lea nativamente, algo así como un traductor; si has visto el vídeo de arriba, seguramente ya lo estarás entendiendo: el traidor alemán es un juego cualquiera, mientras que el tío que traduce vendría a ser OpenGL ES, y el Brad Pitt viene a ser la GPU.

¿Y qué es el Vulkan?

[youtube src="P_I8an8jXuM" /]
Es aquí donde entramos al tema de Vulkan, la nueva API gráfica oficial de Android a partir de Marhmallow 6.0, elegida para hacerle la competencia a Metal, la API introducida por Apple a partir de iOS 8 y OS X "El Capitan", que sí, también es de bajo nivel.

Y lo bueno está aquí: a diferencia de OpenGL ES, nuestro amigo Vulkan es una API gráfica de bajo nivel, lo cuál significa automáticamente que ofrece muchísima —y verdaderamente muchísima— mejor performance ya que al ser de bajo nivel tiene un acceso más directo a la GPU al comunicarse casi directamente con el hardware, es decir, Vulkan permitirá exprimir al máximo la potencia de nuestros androides al no tener intermediarios entre el software y la gráfica; y los primeros resultados ya están llegando, como pudiste apreciar en el vídeo de arriba.

Compatibilidad

Llegamos a la parte que a muchos nos interesa, ¿será mi gráfica compatible con Vulkan? Al igual que Metal y DirectX 12, Vulkan, al ser también de bajo nivel igual que los otros dos, requerirá soporte por parte del hardware y del sistema operativo. En teoría, Vulkan es compatible con cualquier GPU que soporte OpenGL ES 3.1 en adelante, es decir: cualquier gráfica de la serie Adreno 400 en adelante, PowerVR Series 6 en adelante, procesadores Tegra K1 y más nuevos y cualquier gráfica genérica ARM Mali de serie 600, 700 y 800 en adelante.

Lo que esto quiere decir es que prácticamente cualquier gama alta o chinorris del 2014 en adelante es compatible con Vulkan mientras el fabricante del chipset decida implementarlo en las librerías de sus controladores y el fabricante lance una actualización con los drivers actualizados. Como dije al principio, de momento el único terminal que ha implementado Vulkan es el Galaxy S7, si su diseño y sus nuevas características no terminaban por convencerte, tal vez Vulkan lo haga.

Publicar un comentario

César Barrantes

{picture#https://2.bp.blogspot.com/-87jyLDIFZTM/WBFboqQGR4I/AAAAAAAAb5I/6-1SbCa-kx8owN3AsTVvNL0Gr7qlhE6WACLcB/s200/cesar-barrantes-renderizado-01.jpg} Cinéfilo, carnavalero, amante de la buena música y friki a tiempo completo. "Algo suena en mí y es mejor que una canción; el arte es sobretodo un estado del alma". {facebook#https://www.facebook.com/cesar.barrantes.7} {google#https://plus.google.com/115915750931228352631} {youtube#https://www.youtube.com/channel/UCp_z0l2keVLXFRwUPa35RtQ}

Rolo Nieves

{picture#https://4.bp.blogspot.com/-kvtvyd4PBp0/WBFbYZsq7UI/AAAAAAAAb5A/YuK4RXgt9ugsti8HLUZgmHBBPMvNj9rBwCLcB/s200/rolo-nieves-renderizado-01.jpg} Amante de la informática, apasionado del software libre, GNU/Linux, el rock progresivo y usuario sin remedio de Android. Cada aspecto de mi vida es psicodélico. {facebook#https://www.facebook.com/LeMoktar} {google#https://www.google.com/+RoloNieves}
Con tecnología de Blogger.