Khronos lleva Vulkan a macOS e iOS, porque Apple no lo hará

Tras el rechazo de Apple a admitir la API de gráficos Vulkan multiplataforma en favor de su propia API Metal, el grupo Khronos anunció un conjunto de herramientas para que los desarrolladores transfieran sus aplicaciones de Vulkan a macOS e iOS.

Saltándose a Apple

En Windows, los desarrolladores de tarjetas gráficas son los que proporcionan controladores de gráficos para el sistema operativo. Sin embargo, Apple ha sido el proveedor del API de gráficos para macOS e iOS, primero en forma de controladores OpenGL y OpenGL ES, y luego en forma de controladores de Metal. Por lo tanto, el soporte para la API de Vulkan habría sido totalmente dependiente de la disposición de Apple para adoptarlo.

Desde que Apple desarrolló su propia API patentada de Metal, la compañía ha mostrado menos interés en seguir desarrollando soporte para cualquier otra API de gráficos. Apple ha estado priorizando el desarrollo de Metal, y ha estado alentando a los desarrolladores de macOS y iOS a crear juegos y aplicaciones que usen esta API.

Debido a que parecía poco probable que Apple finalmente apoyara a Vulkan, el Grupo Khronos presentó otra solución para llevar Vulkan a las plataformas de Apple: una versión portátil de Vulkan que se correlacionaría con la API Metal.

Un subconjunto de Vulkan universalmente portátil

Khronos ya habló de una meta-API que permite a los desarrolladores apuntar a Vulkan cuando crean aplicaciones macOS e iOS, incluso si Apple no es compatible con Vulkan. Esta API usaría las características comunes entre Metal y Vulkan y luego traduciría las llamadas API de Metal a Vulkan. Para habilitar esto, Khronos también ha lanzado un conjunto de herramientas para desarrolladores. Una es la biblioteca MoltenVK previamente comercial y ahora de código abierto, y la otra es el SDK macOS LunarG de código abierto para Vulkan.

Estas herramientas se hicieron de código abierto con la ayuda (y el dinero) de Valve, que ya ha portado Dota 2 a Vulkan en macOS. Esta versión de Dota 2 ya muestra un aumento significativo en el rendimiento con respecto a la versión anterior de OpenGL, como puede ver en esta comparación:

Khronos espera que los desarrolladores también utilicen la meta-API Vulkan portable para portar sus juegos DirectX 12 a Vulkan en el futuro. Habrá un impacto en el rendimiento al traducir las API, pero Khronos dijo que es insignificante porque la traducción pasa de una API de bajo nivel a otra.

No todas las características de Vulkan serán compatibles con la API Vulkan portable, porque no todo se traducirá perfectamente de Metal y DirectX a Vulkan. A medida que aumentan las características de las API subyacentes, la API portátil también podrá admitir más funciones. Esto, a su vez, debería permitir que la API portátil brinde a los desarrolladores la opción de apuntar a Vulkan en todo tipo de dispositivos y plataformas.

El código abierto MoltenVK se puede encontrar en GitHub , mientras que el macOS SDK se puede encontrar en LunarXchange .

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *