Vulkan 1.0 est là, AMD et NVIDIA aussi

AMD Simplified: Vulkan™ API

Comme prévu (cf. « L’API Vulkan 1.0 va rater 2015 »), le consortium Khronos Group vient de publier la version 1.0 de Vulkan, une API de bas niveau open source et dépourvu de frais de licences (royalties), contrairement à DirectX 12, son concurrent direct. Tout comme l’API de Microsoft, et Mantle dont tout le monde s’inspire (cf. « AMD Mantle : la fin de l’API graphique bas niveau »), Vulkan permet de contrôler ce qui se passe au niveau du pipeline de la puce graphique ou de la mémoire. Le lancement de la version 1.0 s’accompagne de pilotes en provenance de NVIDIA et d’AMD. Ils sont encore en phase bêta, mais c’est un bon début pour la communauté qui profitera aussi de documentations, d’un SDK gratuit inspiré de LunarG de Valve et d’un petit jeu tirant parti de Vulkan et qui permet aux développeurs de se faire une première idée. Le soutien qu’a reçu l’API est très intéressant puisque Samsung, Qualcomm, Unity, Valve, EPIC, Oculus, Blizzard, ARM, Imagination, Nintendo, Sony, Mediatek, Intel et Google, entre autres, se sont associés au projet. Les grands absents sont évidemment Microsoft et Apple qui se retrouvent bien seuls. Pour rappel, Apple dispose aussi d’une API de bas niveau nommé Metal.

Une nouvelle API d’une portée importante

Le plus grand problème de Vulkan est que l’API est plus difficile à manier qu’OpenGL, par exemple, parce qu’elle impose une plus grande gestion des ressources par les développeurs. Cela permet de grandement optimiser le code, mais cela demande aussi beaucoup plus de travail. Khronos Group envisage donc une utilisation de Vulkan en complément à OpenGL. On s’attend à ce que la nouvelle API soit principalement utilisée pour les applications limitées par le CPU et celles qui nécessitent des performances exemplaires.

On devrait ainsi trouver des applications mobiles puisque c’est un domaine où les ressources sont limitées. Contrairement à l’OpenGL qui a diverses versions en fonction de la plateforme, il n’y a qu’une version de Vulkan avec des fonctionnalités à activer en fonction de l’utilisation que l’on compte en faire. Les premiers essais sont très positifs (cf. « Vulkan : jusqu’à 100 % plus de performances pour les smartphones ») et Android est déjà de la partie (cf. « L’API Vulkan adoptée par Android, multiplie les gnomes à l’écran »). Le fait qu’ARM, Mediatek et Qualcomm soient aussi des partenaires devrait signifier que leurs plateformes mobiles seront optimisées pour l’API. Par exemple, Qualcomm et ARM travaillent sur des pilotes pour Android 6.0. On s’attend aussi à ce qu’ils utilisent Vulkan dans d’autres domaines, comme l’automobile ou les drones.