Ordinateurs

Valve : OpenGL est plus rapide que DirectX – même sous Windows – High-teK.ca

Ce site peut gagner des commissions d’affiliation à partir des liens sur cette page. Conditions d’utilisation.

Dans une tournure effrayante qui renforce Le dégoût de Valve pour Windows 8il s’avère que le moteur Source, le moteur 3D qui alimente Half Life 2, Laissé pour mortet Dota 2 — s’exécute plus rapidement sur Ubuntu 12.04 et OpenGL que Windows 7 et DirectX/Direct3D.

L’équipe Valve Linux le décompose sur leur nouveau blog brillant: Avec une Nvidia GTX 680, un processeur Intel i7-3930k et 32 ​​Go de RAM, Windows 7 et DirectX, Gauche 4 Mort 2 atteint un maximum de 270,6 ips. Avec le même matériel, mais des logiciels différents – Ubuntu 12.04 et OpenGL – L4D2 atteint 315 ips, soit près de 20% plus rapide que Windows.

Ces chiffres sont remarquables, étant donné que Valve affine les performances du moteur Source sous Windows depuis près de 10 ans, alors que l’équipe Valve Linux ne travaille sur le port Linux de Source que depuis quelques mois. Valve attribue l’accélération à « l’efficacité sous-jacente du [Linux] noyau et OpenGL.

Le port Linux de L4D2 n’a bien sûr pas démarré à 315 ips – la version initiale n’atteignait en fait que 6 ips. Pour réaliser un tel gain de performances, une approche en trois volets est adoptée : le jeu est modifié pour fonctionner correctement avec le noyau Linux, le jeu est optimisé pour fonctionner avec OpenGL (plutôt que DirectX), et les bogues dans les pilotes graphiques Linux sont adressée.

Ce dernier point est intéressant : Valve entretient des relations de longue date avec AMD, Nvidia et Intel, où Valve signale des bogues de pilote et le fabricant de GPU les corrige en temps opportun. Valve transmet cette relation à Linux, ce qui est très important pour la croissance continue de Linux en tant que plate-forme de jeu. Dans ce cas, Valve dit que le pilote Nvidia Linux manquait de prise en charge du multithreading – et une fois qu’ils l’ont ajouté à une version ultérieure du pilote, les performances ont augmenté.

Psssssst :  Le rayonnement Wi-Fi des ordinateurs portables et des smartphones endommage votre sperme - High-teK.ca

Mais voici le meilleur : en utilisant ces nouvelles optimisations OpenGL, la version OpenGL de L4D2 sur les fenêtres est maintenant plus rapide que la version DirectX. Avec le même matériel, Windows 7/OpenGL/L4D2 s’exécute à 303,4 ips, contre Windows 7/DirectX/L4D2 à 270,6 ips. En bref : OpenGL est plus rapide que DirectX.

Logo DirectXPour ce qui est de Pourquoi OpenGL est plus rapide que DirectX/Direct3D, la réponse simple est qu’OpenGL semble avoir un pipeline plus fluide et plus efficace. À 303,4 ips, OpenGL rend une image toutes les 3,29 millisecondes ; à 270,6 ips, DirectX rend une image en 3,69 millisecondes. Cette différence de 0,4 milliseconde est due à la vitesse à laquelle le pipeline DirectX peut traiter et dessiner des données 3D.

Pourquoi utilisons-nous encore Direct3D ?

Si OpenGL est plus rapide, pourquoi DirectX reste-t-il l’API prédominante ? Ce n’est pas à cause de la qualité de l’image ou des fonctionnalités : OpenGL 4.0 a tous les shaders, tessellators et widgets que DX a. Ce n’est pas à cause du support matériel : toutes les cartes graphiques Nvidia et AMD prennent en charge la dernière version d’OpenGL avec DirectX.

Vraiment, tout se résume à cette vieille chose minable que nous appelons l’effet de réseau – et, bien sûr, au poids monopolistique et aux dollars de marketing. DirectX, parce qu’il a une API plus propre et une meilleure documentation, est plus facile à apprendre. Plus de développeurs utilisant DirectX = plus de jeux DirectX = meilleure prise en charge des pilotes. Il s’agit d’une boucle vicieuse qui conduit à nouveau à plus de développeurs DX, plus de jeux DX et de meilleurs pilotes/outils/documentation DX. Microsoft a également commercialisé DirectX sans relâche – et qui peut oublier la sortie de Windows Vista et la campagne de diffamation OpenGL de Microsoft ? La version intégrée d’OpenGL de Vista était complètement paralysée, forçant de nombreux développeurs à passer à DirectX.

Psssssst :  La mise à jour d'automne cassée de Windows 10 supprime les applications installées par l'utilisateur sans demander au préalable

SteamLinuxMicrosoft a de bonnes raisons d’entraver les progrès d’OpenGL, bien sûr : alors que DirectX est propriétaire et ne fonctionne que sur Windows, Xbox et Windows Phone, OpenGL est complètement multiplateforme. Il existe de solides implémentations OpenGL pour Mac, Linux, PlayStation 3, Nintendo Wii et à peu près tous les smartphones modernes (OpenGL ES). Il est évidemment dans l’intérêt de Microsoft de s’assurer que les meilleures expériences de jeu sont exclusives à ses plates-formes.

Avec Le dégoût de Gabe Newell pour Windows 8 (et Blizzard faisant écho à ses sentiments), la sortie imminente de Vapeur sur Linux, et la croissance continue des jeux sur smartphone, nous pourrions être à l’aube d’une révolution OpenGL. Si la couronne de jeu Windows continue de glisser, OpenGL pourrait bientôt devenir l’API par défaut, plutôt qu’une réflexion après coup. Très bientôt, il pourrait être standard de développer un jeu qui fonctionne bien sur toutes les plates-formes – plutôt que de se concentrer sur Direct3D et de laisser Linux et OS X dans le froid.

Valve parlera de ses avancées Linux/OpenGL au SIGGRAPH 2012 la semaine prochaine. SIGGRAPH est également l’endroit où nous entendons parler des dernières nouvelles d’OpenGL et de DirectX – alors restez à l’écoute !

Mis à jour à 2h40 : L’histoire indiquait à l’origine que la spécification OpenGL est généralement en avance sur DirectX – mais cela n’est plus vrai depuis quelques années maintenant.

Bouton retour en haut de la page