Accueil » Actualité » OpenGL et la qualité des pilotes

OpenGL et la qualité des pilotes

Image 1 : OpenGL et la qualité des pilotesOpenGL

Rich Geldreich, un développeur de jeux vidéo qui travaille actuellement chez Valve, vient de publier un sujet intéressant, sur la qualité des pilotes OpenGL des différents constructeurs de GPU. On parle ici des GPU « desktop » et pas des puces mobiles. OpenGL est utilisé depuis des années, et si Direct3D a parfois pris le pas, OpenGL reste très important : l’API utilisée dans les appareils mobiles (OpenGL ES) est proche et OpenGL est utilisé par Valve pour son système d’exploitation SteamOS. C’est aussi, même si c’est marginal, l’API utilisée pour développer des jeux sous OS X. Il parle des pilotes OpenGL pour GNU/Linux, ce qu’il connaît (et ce qu’il utilise chez Valve).

Vendor A, B et C

Le post est intéressant, parce que le développeur nomme les marques par un « nom de code », mais il est assez simple de découvrir de qui il s’agit. Le Vendor A propose des pilotes très efficaces et fiables, qui supportent la majorité des extensions OpenGL (une extension est une fonction de la carte graphique, accessible via un code précis). Par contre, les pilotes de Vendor A intègrent souvent des optimisations pour des jeux précis, ce qui peut poser des soucis quand un développeur lambda essaye d’utiliser une extension précise : dans certains cas, les optimisations qui sont là pour améliorer les performances ne font pas exactement ce qui est attendu, ce qui est évidemment un problème. De plus, les développeurs de chez Vendor A ne s’inquiètent pas de la compatibilité et des standards : si certaines choses marchent sur un GPU de Vendor A et pas chez les autres… tant pis. Autre point gênant, les spécifications des GPU ne sont pas publiques et les pilotes ne sont pas open source.

Vendor B, quant à lui, propose des pilotes pleins de bugs, avec des choses annoncées sur le papier qui ne fonctionnent pas. De plus, les mises à jour des pilotes cassent souvent des choses. Pourtant, les outils de Vendor B sont plutôt efficaces selon Rich Geldreich, et ce qui fonctionne est plus conforme aux standards que chez Vendor A, ce qui est un avantage. Une version open source des pilotes existe, avec moins de bugs, mais aussi moins de performances et moins de fonctions.

Vendor C, enfin, a deux pilotes OpenGL, développés par deux équipes séparées, et les pilotes ne partagent pas de code. Le premier, open source, fonctionne mais ne propose que des extensions assez anciennes. Visiblement, les choses annoncées sont implémentées correctement, tant qu’on oublie le mot performances. Comme le pilote est open source, il est possible de corriger les bugs, mais Vendor C ne propose pas d’outils pour aider à développer en OpenGL. Le second pilote est rempli de bugs, n’est pas open source et certaines choses ne fonctionnent pas, mais il est plus rapide que le premier. 

Globalement, le constat est assez sévère pour les pilotes OpenGL (nous en avons déjà parlé) et Rich Geldreich a d’ailleurs décidé de cacher le nom des sociétés pour éviter des réactions des développeurs. Ceci dit, pour les personnes intéressées, il est assez simple de deviner qui sont les constructeurs en question, et si vraiment vous n’arrivez pas à le deviner, Vendor A construit les cartes GeForce, Vendor B les cartes de la gamme Radeon et le dernier les HD Graphics…