vulkan-api-du-futur

Vulkan l’API du futur ?

 

Nous utilisons tous un ordinateur pour jouer ou bien faire de nombreuses tâches. Mais connaissez-vous vraiment votre machine ? Un processeur, de la mémoire vive, une carte mère et graphique, tout cela cohabite dans la même boite.  Vous vous doutez bien que l’harmonie ne peut pas se faire seule et que ce sont des scientifiques, des développeurs et des centaines de gens qui permettent de faire en sorte que votre expérience soit la plus simple et la plus performante possible. Dans cette machine il y a un système d’exploitation, créé par une entreprise tierce, et qui vous permet d’exploiter le potentiel de votre machine en tout simplicité. Mais alors vous est-il arrivé de vous demander comment un concepteur ou développeur de jeu vidéo peut lui aussi créer une image ou animation 3D sans taper des centaines de lignes de code ?

Voila à quoi sert une API, vous venez comprendre le concept, c’est une bibliothèque proposant des services facilitant le lien entre ce que vous écrivez à l’écran et la machine. Cette interface de programmation permet de faire de la 3D, de gérer le son ou bien de nombreuses fonctions liées aux ressources disponibles. Vulkan ou Open GL Next, est le successeur de l’open GL et propose d’améliorer la gestion du hardware. Son concurrent direct est DirectX12 qui propose des avancées assez similaires mais plus fermées. Eh oui, Vulkan est open source, et permet de programmer sur l’ensemble des écosystèmes, mais nous y reviendrons plus tard. Au programme nous avons donc une meilleure répartition de la charge des calculs sur le processeur, une gestion du multicœur avancée, un meilleur accès aux commandes GPU et à la VRAM. Mais aussi, une prise en charge bien mieux conçue du Hardware mobile, une meilleur interprétation des shaders. Bref vous l’aurez compris, cette nouvelle interface facilite bien les choses, on l’appelle API de bas niveau, car plus proche du matériel. C’est l’entreprise Khronos qui a eu en charge sa création, reprenant les bonnes idées de Mantle d’AMD.

 

 

Unification du Desktop avec les mobiles

C’est la grande nouveauté de Vulkan, par rapport à son ancienne version Open GL, il permet de développer sur mobile. Avant sa sortie, il existait deux versions de l’API, une Open GL classique et une nommée Open GL ES, destinée aux mobiles. Désormais les deux sont unifiées et il n’y a plus besoin d’un moteur 3D spécifique, du moment qu’il passe avec Vulkan. Cette unification permet d’alléger encore une fois le travail des développeurs, et qui dit temps gagné, dit meilleure optimisation.

 

vulkan-api-du-futur

 

Des performances bluffantes

Vulkan permet une hausse des performances impressionnante avec un passage réduit par les pilotes, la latence est donc bien meilleure. De plus, le processeur devait gérer cette interaction, désormais l‘API gère directement le GPU.  Côté processeur c’est assez fort aussi, la meilleure gestion du multicœur permet d‘afficher des milliers d’éléments à l’écran. Là où avant fréquence rimait avec performance, Vulkan promet de gérer tous les threads, qu’ils soient en grand nombre ou pas. Avantages ou pas, il y a quand même des inconvénients, les développeurs doivent passer par le SPIR-V, un langage plus complexe et donc demandant plus d’investissement.

 

Vulkan api du futur

 

DX12 ne sert donc à rien ? 

DirectX12 est aussi une API de bas niveau, si vous connaissez pas ses avantages, nous vous invitons à consulter son dossier dédié. Cette API a été créée par Microsoft pour son écosystème Windows 10 en exclusivité. Nous assistons à une grosse transition dans le milieu du jeu vidéo avec une fragmentation des interfaces de programmation. En fait, tout le monde a repris les bonnes idées de Mantle du constructeur AMD. Nous avions noté des hausses significatives de performances sous Battlefield avec cette API sur les processeurs à multiples cœurs comme les FX. Nous avons donc des jeux qui sortent sous Vulkan, d’autres sous DX12 et encore d’autres développeurs plus conservateurs utilisant DX11 pour leurs titres. Mais ce n’est pas un mauvais choix, en effet tout le monde n’a pas migré sous Windows 10 et donc programmer des jeux sous DX12 est un pari risqué, mais bref, ne nous égarons pas. Vulkan, outre ses performances bien meilleures, a l’avantage net d’être compatible sur l’ensemble des systèmes d’exploitation. Que ce soit des distributions Linux, Android, Windows 7, 8.1 ou 10, peu importe, si gains il doit y avoir, vous en bénéficierez.

 

vulkan-api-du-futur

 

 

 

 

 

 

Naviguer dans l’article
Présentation