Khronos publica Vulkan 1.2, la gran esperanza en APIs abiertas para juegos
The Khronos Group ha anunciado la llegada de Vulkan 1.2, la nueva especificación de la API para desarrollo de videojuegos y en general aplicaciones con gráficos 3D y alternativa abierta al DirectX de Microsoft.
Vulkan 1.2 incluye 23 nuevas extensiones al núcleo principal de la API. La mayoría han sido solicitadas por los desarrolladores que cada vez en mayor número utilizan estas librerías multimedia y también por los fabricantes que la soportan, hoy todos los grandes de la industria incluyendo NVIDIA, AMD, Intel, ARM o Google.
Las novedades son técnicas e internas y en general ofrecen nuevas funcionalidades de hardware para GPUs; un mejor rendimiento de la aplicación; una mayor usabilidad de la API; mejoras en las operaciones de memoria; mejor soporte en sombreadores HLSL facilitando mover el código Direct3D a Vulkan; mejoras en SPIR-V para que los programas escritos para OpenCL se pueden ejecutar en cualquier GPU que tenga un tiempo de ejecución Vulkan, y otras:
«Vulkan 1.2 reúne casi dos docenas de características de alta prioridad desarrolladas en los últimos dos años en un único estándar Vulkan de núcleo unificado, estableciendo un modelo de vanguardia en la única API de GPU abierta de la industria para 3D multiplataforma y aceleración de cómputo», dice Tom Olson, ingeniero de ARM y presidente del grupo de trabajo de Vulkan.
«Khronos continuará entregando actualizaciones periódicas del ecosistema Vulkan con esta metodología probada y centrada en el desarrollador para satisfacer las necesidades y ampliar los horizontes de las aplicaciones del mundo real», explican de un modelo en el que los desarrolladores de motores gráficos, aplicaciones o juegos proponen las nuevas funciones, se prueban a fondo y se incluyen en el núcleo principal de la API para uso personalizado. De hecho, Vulkan 1.2 ha tardado dos años en publicarse después de la versión 1.1.
Vulkan 1.2, a la caza de DX12
Vulkan sigue mejorando y es importante para usuarios, desarrolladores e industria en general. Similar en objetivos al DirectX de Microsoft o al Metal de Apple, proporciona acceso de bajo nivel permitiendo a los programadores exprimir el rendimiento del hardware gráfico. La gran ventaja de Vulkan es que es una API con licencia de código abierto que se ofrece libre de royalties y puede funcionar en múltiples plataformas, desde ordenadores Linux de escritorio a móviles Android, en las plataforma de Apple y en las de Microsoft, incluyendo Windows 7 y Windows 8.1 a los que DirectX 12 no soporta.
Si conoces la especificación ya sabes que hablar de Vulkan es hablar de Mantle, una API creada por AMD en 2013 cuando estaba trabajando en la optimización de las consolas de la actual generación que utilizan sus chips, PS4 y Xbox One. Mantle fue ofrecido a los desarrolladores con la promesa de creación de juegos más rápidos al proporcionar una capa de gráficos más eficiente. Técnicamente, prometía una menor carga de la CPU y un acceso más directo a las características de hardware de gráficos de bajo nivel.
Tras la llegada de DirectX 12, AMD cedió el código de Mantle al grupo Khronos, un consorcio industrial enfocado a la creación de APIs estándares abiertas y libres de royalties que gestiona OpenGL. En 2015 el grupo anunció Vulkan como el nombre definitivo para la nueva API, que incluye el «OpenGL-Next Generation» y Mantle. Más allá de sus prestaciones, la especificación es muy interesante por su carácter abierto y como alternativa a la cerrada DirectX 12 y a su aprovechamiento por Microsoft para dirigir el segmento del videojuego.
Y el futuro se presenta muy interesante. Todas las GPUs que soportaban versiones anteriores de Vulkan serán capaces de admitir Vulkan 1.2 lo que garantiza una disponibilidad generalizada. NVIDIA y AMD ya han anunciado soporte completo en sus nuevos controladores e Intel ha avanzado compatibilidad en sus nuevas soluciones, la gráfica dedicada Xe y las integradas Gen11.
Imagination también ha anunciado compatibilidad completa en su arquitectura IMG A-Series, mientras que responsables de Google Stadia hablan de un «cambio de juego» para el ecosistema de Vulkan. Por supuesto, Google apuesta por ellos al igual que en Android donde tendrá soporte nativo. En cuanto a ARM, otros de sus socios importantes, ya ofrece la implementación de Vulkan 1.2 en las arquitecturas Bifrost y Valhall de las GPUs Mali.
Vale, ¿y los juegos? Las bases para una alternativa viable a DX están puestas. Ya depende de los desarrolladores, los grandes estudios, productoras y distribuidores y los intereses de cada cual que van más allá de las cuestiones técnicas. Apunta DOOM Eternal como punta de lanza este trimestre. iD Software ha usado el motor gráfico id Tech 7 y las librerías multimedia de Vulkan como única versión para el juego. Y ya mostró como se podía programar un juego sobresaliente en Vulkan con el DOOM de 2016.