El Grupo Kronos anuncia Vulkan 1.0, su nueva API de bajo nivel

El Grupo Kronos (Khronos Group) ha hecho el anuncio más importante, desde el lanzamiento de OpenGL 1.0 hace ya más de 20 años, esto al publicar las primeras especificaciones oficiales de su nueva API de bajo nivel “Vulkan 1.0”, la cual está destinada a reemplazar a futuro a OpenGL, competir con DirectX 12 y brindar horizontes casi sin límites para el desarrollo de la industria gráfica.

 

APIs Gráficas: OpenGL y DirectX

Por años hemos visto en la industria dos estándares que durante más de dos décadas han, en cierto modo, competido en el mercado. Por una parte, las librerías Open GL, desarrolladas originalmente por SGI (Silicon Graphics Inc) y cuya primera versión se lanzó por el año 1992, y por otra parte DirectX de Microsoft. Open GL siempre se ha mantenido en constante desarrollo a través de sus distintas versiones y respectivas iteraciones (Open GL 1.x, OpenGL 2.x, OpenGL 3.x, y OpenGL 4.x), al igual que DirectX.

OpenGL-vs_DirectXAunque OpenGL siempre ha sido una API abierta, es decir, cualquiera que lo desee puede contribuir en su desarrollo y acceder a sus líneas de código. La monopolización en el mercado de los sistemas operativos hizo que inexorablemente los desarrolladores de videojuegos dieran en cierto modo más apoyo a DirectX (integrada de serie en los sistemas Windows) que a Open GL en escritorio, ya que en plataformas móviles OpenGL ES es bastante utilizada.

DirectX entonces se convirtió en la API de facto de Microsoft y la industria y que al igual que OpenGL ha tenido distintas iteraciones o versiones (DirectX 9, DirectX 10, DirectX 11 y recientemente DirectX 12), hasta llegar al punto de inflexión actual, donde existen GPUs que cada año se modernizan y proveen mayor poder de procesamiento y capacidades de ejecución en paralelo a través de cientos y miles de pequeños núcleos de ejecución o unidades especiales dedicadas para funciones específicas.

Es en este punto de inflexión, marcado por la modernización del hardware, es que se hace necesario crear una nueva API de alto rendimiento que sepa aprovechar todo el potencial de procesamiento del hardware gráfico actual y que abra las puertas al desarrollo de nuevas aplicaciones que sepan también sacar provecho del constante y frenético desarrollo de la industria del hardware.

Vulkan_1_19

Es aquí donde entran recientes APIs, comenzando por AMD Mantle (las bases justamente de Vulkan), que nos dio un adelanto de lo que se vendría en la industria, luego la confirmación DirectX 12 de Microsoft y la API Metal de Apple. Aunque finalmente OpenGL y DirectX terminan peleándose la atención, ambas librerías debían tener ya una renovación para estar acorde al hardware y desarrollo actual.

Microsoft hizo ya su jugada (cerrada como es tradicional) con DirectX 12 soportada sólo por Windows 10 y hardware reciente y el Grupo Khronos hace lo propio anunciado VULKAN 1.0. Aunque la filosofía de ambas librerías son distintas, una cerrada y la otra abierta, las dos apuntan a un horizonte en común.

 

¿Qué es VULKAN?

En efecto, Vulkan es la nueva API que está siendo promocionada por el Grupo Khronos, pero que es un esfuerzo conjunto de la industria y el resultado de 18 meses de una intensiva colaboración entre las empresas fabricantes de hardware, desarrolladores de motores gráficos para videojuegos, desarrolladores de sistemas, consolas, plataformas móviles, fabricantes de chips para dispositivos, y los principales desarrolladores de software y hardware de la industria.

Vulkan_1_02

Vulkan es un esta API de estándar abierto, que proveerá una alta eficiencia a través de distintas plataformas para acceder a los gráficos y cómputo en GPUs modernas y que será utilizada en una amplia variedad de dispositivos, que van desde PC de escritorio, consolas, teléfonos móviles y plataformas integradas. Siendo capaz de proveer a las aplicaciones un control directo sobre la aceleración por GPU para maximizar el rendimiento y minimizando la sobrecarga de la CPU central, mediante el uso de las capacidades multi-hilo que proveen las actuales y más modernas GPUs de la industria.

Vulkan_1_03

En este sentido Vulkan es una potente API de gráficos y cómputo de baja sobrecarga que ofrece a los desarrolladores de software un control más preciso sobre el rendimiento, la eficiencia y la capacidad de las tarjetas gráficas (GPUs) actuales y los procesadores (CPUs) de varios núcleos.

En comparación con OpenGL, Vulkan reduce sustancialmente la sobrecarga de la API, que es un trabajo de fondo que realizan o bien la tarjeta gráfica o el procesador para interpretar lo que un juego está pidiendo del hardware. Reducir esta sobrecarga de hardware, da muchos más recursos para optimizar la entrega de características significativas, rendimiento y calidad de imagen.

Vulkan también pone al descubierto características del hardware de la tarjeta gráfica que habitualmente no están accesibles a través de OpenGL, por lo tanto, también es otro punto que justifica necesariamente el desarrollo de Vulkan.

 

Principales Beneficios de Vulkan

Vulkan 1.0, en este sentido sigue la misma dirección que han tomado recientes API lanzadas al mercado, como DirectX 12 de Microsoft, Mantle de AMD o Metal de Apple, esto al ofrecer un acceso de bajo nivel o acceso directo a la GPU para mejorar el rendimiento y prescindir de redundancias como las administradas mediante los controladores o drivers de GPU.

Vulkan_1_20

Vulkan en este sentido también permitirá a los desarrolladores un mayor control sobre las tareas que se ejecutarán en la GPU, permitiéndoles crear aplicaciones (motores gráficos, middleware y aplicaciones o juegos) más eficientes, que mediante Vulkan podrán sacar un mejor rendimiento del hardware de gráficos actual (GPUs), que se caracteriza por integrar cientos y miles de unidades de ejecución en paralelo.

Vulkan_1_21

Por otra parte, Vulkan facilitará el trabajo de los desarrolladores y la industria en general, ya que unificará el desarrollo mediante una sola API para las distintas plataformas, es decir, ya no habrá una API para escritorio o computadores como OpenGL y otra para dispositivos móviles como OpenGL, todo se unificará en Vulkan, creando una única API mucho más universal en este sentido permitiendo crear con el mismo código aplicaciones para las distintas plataformas.

 

Sistemas Operativos Soportados

A propósito de plataformas y el concepto de universal, en este contexto Vulkan, no sólo tendrá las ventajas ya descritas, sino que también será compatible con un amplio ecosistema de plataformas. Por ejemplo, DirectX 12 es exclusiva de Windows 10, mientras Metal es exclusiva de los sistemas de Apple. Vulkan por su parte al ser una plataforma abierta, ofrece soporte para la mayoría de las principales plataformas operativas, como: Windows 7, Windows 8, Windows 8.1, Windows 10; Steam OS, y las principales distribuciones de Linux, como RedHat, Ubuntu, además de sistemas operativos para dispositivos móviles como Tizen y como no Android, entre otras plataformas.

Vulkan_1_04

 

Convivencia con OpenGL

Si bien, Vulkan está destinada a suceder a OpenGL como una merecida renovación a estas últimas librerías que llevan en el mercado ya 24 años, esto no quiere decir, que OpenGL vaya a desaparecer del mercado y la industria, pues es sabido que hay cientos de plataformas, dispositivos que dependen de OpenGL, por lo tanto, Vulkan y OpenGL están destinados a convivir o coexistir en el mercado, tal como hasta ahora han convivido las distintas versiones de OpenGL y las propias versiones de DirectX (DirectX 9, DirectX 10, DirectX 11 y ahora DirectX 12).

Vulkan_1_15

Por otra parte, Vulkan también soportará plataformas móviles que son compatibles con OpenGL ES 3.1 y versiones posteriores y en escritorio también es compatibles con plataformas que soporten OpenGL 4.5 o posteriores.

 

Hardware Compatible con Vulkan

Otra de las ventajas de Vulkan sobre DirectX 12, es que podrá ser soportada por una gran variedad de hardware de gráficos actual, por ejemplo: NVIDIA tendrá soporte para Vulkan mediante los respectivos controladores gráficos en tarjetas gráficas de arquitectura Fermi, Kepler y Maxwell, es decir, desde las GeForce GTX 400 series hasta las GeForce GTX 700/900 series y posteriores que vendrán con la futura arquitectura “Pascal”.

NVIDIA-Vulkan-API

Por su parte AMD, ofrecerá soporte para Vulkan en sus tarjetas gráficas basadas en la arquitectura Graphics Core Next 1.0 en adelante, es decir, desde las Radeon HD 7000 series en adelante y las Radeon R9 y las próximas tarjetas basadas en la arquitectura “Polaris”. Intel también tendrá soporte, aunque no sabemos si con la actual generación de gráficos o con la siguiente.

Por otra parte, los fabricantes de hardware para dispositivos móviles también soportarán Vulkan, como Qualcomm, MediaTek, Imagination Techonologies, ARM, Samsung etc, pues ellos diseñan hardware de gráficos o GPUs para dispositivos móviles basados en Android como las GPU “Adreno2 de Qualcomm, las GPU “PowerVR” de Imagination o las GPU “Mali” de ARM.

Vulkan_1_08

 

Recursos para Desarrolladores

Con el anuncio de las especificaciones de Vulkan 1.0, los desarrolladores cuentan con el primer set de recursos para comenzar a desarrollar aplicaciones basadas en la API Vulkan, es decir, este anuncio incluye herramientas como: software, documentación, ejemplos, códigos fuentes, SDK y otros recursos para comenzar a desarrollar juegos basados en las especificaciones 1.0 de Vulkan.

Vulkan_1_06

Es también una gran oportunidad para los futuros desarrolladores o desarrolladores en formación de poder estudiar y comenzar desde ya a sumergirse en el desarrollo y creación de código basado en Vulkan.

Vulkan_1_11

Por ahora Kronos, con la colaboración principal de Valve han puesto a disposición el SDK LunarG con un set de recursos técnicos para comenzar a trabajar con Vulkan, este SDK está disponible como un instalador para Windows y Linux.

 

Galería

 

[Khronos Group]

AMD incluirá Hitman en algunas Radeon R9 390 series y CPUs AMD FX
Revelados los Requisitos para World of Warcraft: Legion
  • Pingback: El nuevo DOOM ya cuenta con soporte para la API VulkanMadBoxpc.com | MadBoxpc.com()

  • Esta genial que haya una compentencia entre APIs pero, aunque esta todo genial esto de que se soporte desde el XP hasta los Sistemas de hoy en dia, no me parece logico que solo sea soportada por Kepler, Maxwell, GCN y GPU Broadwell, osea, ¿Cuantos usuarios de estos hardwares usan Windows XP? eso no tiene nada de logica, encima dicen que es soportado por cualquier hardware que soporte OpenGL3.1 o 4.x pero lo de limitarse a estas GPU esta fuera de eso, hay graficas como las HD4000 y GTX200 que siguen siendo utilizadas por algunos usuarios y esta API no les hubiese caido nada mal, otra cosa, al parecer por el momento solo soporta 6 procesadores logicos, aunque no esta mala para mi porque mi equipo tiene un FX-6300 que hay de los usuarios con Core i7 y FX8x000?

    Saludos!