Programmez! #239 PDF pour nos abonnés papier

Abonnés papier : en raison de la situation due au coronavirus, des retards sont à prévoir en ce qui concerne la distribution de Programmez! #239 par La Poste. C'est pourquoi nous mettons Programmez! #239 PDF à disposition dans votre compte utilisateur sous un onglet dédié en attendant. Pour y accéder, il vous suffit de saisir votre n° d'abonné (ou éventuellement le ressaisir comme pour l'accès aux archives) dans votre compte utilisateur, si ce n'est pas déjà fait. Si vous ne connaissez par votre numéro d'abonné, vous pouvez l'obtenir à cette page.

En cas de difficultés, contactez le webmaster à partir du formulaire de contact de ce site.

Vulkan succède à OpenGL

Par:
fredericmazue

jeu, 05/03/2015 - 15:30

Adieu l'appellation provisoire GLNext. Le Khronos Group, un consortium d'industriels à l'origine de nombreux standards dont OpenGL, vient d'annoncer Vulkan, sa nouvelle API 3D nouvelle génération, qui prendra le relai d'OpenGL qui commence à dater et pose des problèmes de performances dans certains types d'applications, les jeux vidéo notamment.

OpenGL ne va pour autant pas disparaître. Vulkan ne prétend pas être la panacée qui conviendrait à toutes les applications 3D. Une librairie de haut niveau, ou de relativement haut niveau comme l'est OpenGL, continuera à trouver son emploi auprès de nombreux développeurs.

Car Vulkan sera une API de bas niveau. Le but poursuivi est la recherche de performances brutes. Vulkan a clairement l'intention de rejoindre les librairies Mantle (AMD), DirectX 12 (Microsoft) ou Metal (Apple).

Avec Vulkan, le développeur pourra contrôler un maximum de choses dans son programme. Mais avec un maximum de travail. Le développeur Vulkan devra donc gérer la mémoire et les threads. L'envoi des commandes à la GPU pourra être multithreadé. L'intention est de décharger au maximum le pilote de la carte graphique.

Dans cet esprit, ce ne seront plus les pilotes qui compileront les shaders. Le shaders seront compilés par le développeur en un langage intermédiaire, SPIR-V, qui est lui aussi une spécification du Khronos Group. Le pilote se limitera à exploiter le code-byte issu de cette compilation, pour agir sur la CPU. Le Khronos Group ne manque pas de cohérence à ce niveau car SPIR-V fait aussi partie des spécifications d'OpenCL 2.1.

Les spécifications final de Vulkan sont attendues pour la fin de cette année. Des spécifications qui s'appliqueront aux PC de bureau, mais aussi aux terminaux mobiles et autres systèmes embarqués.