Jeux vidéo : Vulkan fait fondre la chape de Metal du Mac

Stéphane Moussie |

Valve a mis au point une nouvelle version Mac de Dota 2 qui est 50 % plus performante que l’originale. Comment ? Non, ce n’est pas en utilisant Metal, l’API graphique de bas niveau d’Apple, mais Vulkan et une nouvelle boîte à outils.

Vulkan est l’API graphique libre qui succède à OpenGL et qui est prise en charge par toutes les plateformes… sauf iOS et macOS, qui privilégient le Metal maison. Les créateurs de jeux qui veulent toucher les possesseurs d’appareils Apple doivent soit adapter leur projet à l’API propriétaire de Cupertino, soit se contenter d’OpenGL qui est universel mais piteusement pris en charge par macOS.

Par exemple, en dépit de ses versions OpenGL et Vulkan, Doom 2016 ne peut pas être porté simplement sur Mac parce que Vulkan est totalement absent et que la mouture d’OpenGL supportée par macOS est trop ancienne.

Apple n’étant visiblement pas décidé à gérer Vulkan, le Khronos Group, Valve, LunarG et The Brenwill Workshop ont pris les choses en main et ont créé une boîte à outils permettant de convertir les fonctions de Vulkan en fonctions Metal.

« Faire tourner des applications Vulkan sur les plateformes Apple a été la requête numéro un des développeurs et c’est maintenant possible grâce au runtime MoltenVK et au SDK LunarG », s’enthousiasme Neil Trevett, vice-président de Nvidia et président du Khronos Group qui supervise Vulkan.

En facilitant le travail des développeurs, cette suite d’outils qui est proposée gratuitement pourrait favoriser l’arrivée de plus nombreux jeux ayant par la même occasion de meilleures performances. La version Vulkan de Dota 2 pour Mac sera disponible gratuitement dans les prochains mois.

avatar fousfous | 

Les dev continuent toujours de choisir les solutions de mauvaise qualité au détriment de l'utilisateur...

avatar pat3 | 

@fousfous

Là je ne comprends absolument pas ton pont de vue. En quoi ce serait une solution de mauvaise qualité (et pourquoi l’adopter, dans ce cas)?

avatar fousfous | 

@pat3

Toutes les solutions multi plateformes sont de mauvaise qualité, y a qu'à voir les jeux comment ils sont devenus depuis qu'ils sortent sur Android en plus d'iOS.

avatar Marco787 | 

macOS encourage le multi plateforme, puisqu'Open GL est pris en compte.

Le problème -crucial- est que la version d'OpenGL retenue par macOS est apparemment défaillante (trop lente).

Les développeurs peuvent-ils réellement développer pour un marché de niche (Metal pour macOS) alors qu'il existe un marché plus grand ? En d'autres termes, cette duplication d'efforts, couteuse, peut-elle se justifier ?

avatar C1rc3@0rc | 

@Marco787
«Le problème -crucial- est que la version d'OpenGL retenue par macOS est apparemment défaillante (trop lente).»

oh c'est pire que ça: Apple n'a jamais correctement implémenté OpenGL sur Mac. Les versions n'ont jamais ete a jour et le travail a toujours ete fait a la hache.

De plus Apple avait des le depart une architecture vidéo propriétaire très en avance lorsqu'elle est sortie... et qui n'a jamais ete conçu pour le jeu. Et Apple a toujours voulu contrôler l'acces au materiel et imposait aux fabricants de GPU de co-developper les drivers...

De fait, il y a des drivers pas optimisés, un Quicktime omniprésent, un désintérêt pour OpenGL jamais vraiment implémenté par Apple et Apple se foutant royalement du secteur du jeu pendant des années...

avatar C1rc3@0rc | 

@fousfous «Toutes les solutions multi plateformes sont de mauvaise qualité, y a qu'à voir les jeux comment ils sont devenus depuis qu'ils sortent sur Android en plus d'iOS.»

Je ne suis pas d'accord.

Multiplateformes signifie mauvaise qualité dans le cas ou le systeme multiplateforme se focalise sur une plateforme de reference et effectue un portage a minima et basé sur les canons de la plateforme de reference.

Lorsque le multiplateforme est mauvais c'est souvent parce que l'editeur ne consacre pas assez de moyens, veut "ratisser large" en "optimisant" ses marge, ou n'a tout simplement pas assez de temps/competence.

Se pose aussi le probleme du manque d'interet de la plateforme et d'une volonté de portage pour de mauvaises raisons.

Ici on a semble-t-il un contre exemple:
- le marche du jeu sur MacOS est résiduel, Apple mene une politique de l'absurde depuis des annees.
- le marché du jeu sur iOS est important (c'est la part majeure des "app") et rentable.
- Apple a une API propriétaire qui peut changer du jour au lendemain
- les éditeurs principaux veulent se concentrer sur l’expérience du jeu pas sur les spécificités des plateformes
- usuellement la periode de rentabilité d'un jeu est courte et son developpement de plus en plus long... ça veut dire que l'investissement se fait sur du garanti, pas une truc qui peut etre bloqué par un bug a rallonge ou une pitrerie unilaterale de l'app store...

Bref, le groupe qui définit Vulkan (rappelons qu'Apple est membre du Khronos Group...) a une API issu d'un long processus de construction. C'est donc une plateforme complete, non etablie sur une architecture en particulier, mais constituant une abstraction.

L'idee de Vulkan, c'est que c'est le constructeur/éditeur qui va implémenter la réalisation de Vulkan.

Apple refuse d’implémenter Vulkan (alors qu'Apple est membre du Khronos Group...).

Ce qui est alors fait c'est que le groupe met en place non pas une implémentation de Vulkan a partir des primitives de Metal, mais traduit les fonctions Vulkan en ensemble de fonctions Metal.

Le code est moins compact et efficace que si Apple prenait en charge Vulkan ou que si l'application etait ecrite en Metal, mais au moins ça permet de bonnes performances...

L'idee c'est d'eviter l'horreur d'Apple et OpenGL...

avatar fte | 

@fousfous

"Toutes"

Non, pas « toutes ».

De plus très souvent, ce n’est pas l’outil mais comment il est utilisé qui fait la différence.

avatar byte_order | 

@fousfous
> Toutes les solutions multi plateformes sont de mauvaise qualité,

Tellement, même, que là une solution multiplateforme et, encore pire, open source, à base de Vulkan + LunarG + MoltenVK n'arrive a booster Dota 2 que de +50% par rapport à la seule et unique version utilisant l'implémentation native d'OpenGL faite par Apple, optimisée par ses soins grâce à son parfait contrôle de l'intégration matériel + logiciel bien connu.

Oh, wait.
Faudrait comparer avec Dota 2 pour Metal.
Ouais. Sauf que faire le boulot juste pour Metal, c'est couteux et pas assez rentable vu que y'a guère de différence en performance entre Vulkan et Metal et, pire, Apple prélèvera ses 30% pour la version pour iOS, la seule qui pourrait justifier vu les PDM de iOS d'optimiser à ce point.

A charge à Apple de montrer que Metal permet d'exploser les performances par rapport à Vulkan...
A défaut, les devs iront sur Vulkan.

Car tout comme Apple, les développeurs de jeux vidéo ne vivent pas de pain et d'eau fraiche. Ils choisissent les technos qui sont dans leur intérêt à eux. Et leur intérêt premier c'est de pouvoir proposer un jeu vidéo attractif pour un maximum de client potentiel pour un coût de développement rentable.

Faire de l'optimisé rien que pour la clientèle d'Apple n'est pas assez rentable.
Même Apple, malgré une trésorerie record, n'optimise pas à ce point pour sa propre clientèle : ni OpenGL ni OpenCL ne sont au niveau attendu par sa clientèle Pro qui avait misé sur ces technos et le matos ad-hoc, clientèle qui d'ailleurs est partie ailleurs en grande partie depuis.

avatar RedMak | 

@fousfous

🤔

avatar ErGo_404 | 

Les devs d'apple font en effet des choix étranges.

Supporter Vulkan aurait été le moyen le plus simple de simplifier le portage de jeux et donc d'améliorer la vie des utilisateurs

avatar algounet | 

L'article présente justement l'inverse, c'est les dev qui se cassent le cul pour corriger les API inexistantes d'Apple...

avatar fousfous | 

@algounet

L'api elle s'appelle metal et c'est juste celle qui donne de meilleures performances...

avatar fte | 

"c'est juste celle qui donne de meilleures performances..."

Par rapport à quoi ?

OpenGL merdique de macOS, obsolète, littéralement ignoré par Apple depuis des années ? Je le crois volontiers.

DirectX sur Windows 10 sur la même machine ? J'ai comme un doute.

Vulkan sur Windows 10 sur la même machine ? J'ai comme une montagne de doute.

avatar vrts | 

Fousfous l'expert ne loupe jamais une occasion de se taire...

avatar softjo | 

@fousfous

Exactement. Les develop d'apple ont choisi la solution simple et de mauvaise qualité: ne rien à mettre à jour côté API graphiques.... Toujours moins performant que n'importe quels OS au monde, gratuit ou payant. Open source ou non.
Ils ajoutent Métal.... Mais bon, qui va se faire chier d'utiliser métal si de toute façon Apple utilise des sous-merde dans leurs mac ? Le software ne peut pas faire de miracle...

avatar fte | 

@fousfous

Tu parles certainement d’Apple, n’est-ce pas ?

avatar vince29 | 

Vulkan est une très bonne solution.
Si Apple ne veut pas participer c'est son problème.
Et accessoirement celui de ses utilisateurs.

avatar Grahamcoxon | 

Mais bon sang quand est ce que Apple va se décider à faire quelque chose. Ça leur coûterait si cher de supporter Vulkan ou une version plus récente d open gl ?

avatar L4P | 

+10 !

avatar CrashMidnick | 

+100 !
Quand je vois le magnifique émulateur de wii/gc Dolphin tourner comme une patate à cause de la version pourrie d’opengl de MacOs... je ne me sers que de Windows pour jeux + émulateurs mais c’est une passion... j’ai donc un hackintosh et pas un Mac.

avatar fte | 

@Grahamcoxon

"Ça leur coûterait si cher"

Bin en fait oui, ça coûterait cher. Il ne suffit pas de porter. Il faut optimiser et maintenir sur divers OS et matériels.

Mais ce n’est pas vraiment le problème. Il faudrait surtout un intérêt à le faire, et un objectif. Il n’y a rien qui intéresse Apple ici.

avatar vince29 | 

pas de jeux ou des jeux avec des perfs pourries, c'est pas une incitation ?

avatar fte | 

@vince29

-- edit, pas répondu dans le bon fil --

Apple ne s'intéresse plus aux jeux depuis que Windows 95 existe. C'est dit de façon un peu lapidaire, mais l'idée est là.

avatar jackhal | 

Le logo de LunarG me rappelle beaucoup celui de Netscape.
http://www.thelogofactory.com/wp-content/uploads/2008/01/netscape-naviga...

avatar Ulia | 

@Grahamcoxon

Débat vieux comme Apple... ;) Bon, c'est un raccourcis facile mais j'assume. Mais tu as raison, et pour ma part j'ai abdiqué... Macuser depuis le Mac SE, je n'ai eu que des Macs à la maison et à peu près toutes les moutures de MacOS (Système < et > à 6.x, 7.5x, 8.x, 9.x), puis les macOS (10.x, jusqu'à nos jours).

Mes enfants n'ont connus que l'environnement Apple à la maison (iOS, macOS, ...) mais dès qu'ils ont commencé à être en âge de se frotter au monde extérieur... Bim, ca n'a pas loupé : Windows est arrivé à la maison parce que on peut faire plus de chose (jeux). idem pour ce qui est des iBidules : c'est Android questions Smartphones, point.

Passons sur l'éternel débat et affirmation éculée du genre "On ne joue pas avec un Mac, pour celà on achète une console*"... mouais : nous avons 2 consoles à la maison :) et Windows est rentré chez nous comme une lettre à la poste malgré tout :)

Les arguments Apple sont difficiles à tenir : oui macOS / iOS sont plus sécure/robuste. Oui les iMacs et Macbook sont de belles machines (je ne détronerai pas notre iMac de salon par un vulgaire PC).

Mais pour le reste, on fait autant avec un PC qu'avec un Mac, les jeux en plus (dés l'instant où on a la bonne configuration PC bien sûr).

La dernière voit sa sœur avec son Macbook Pro 2017 qui n'est pas capable de jouer à des jeux (sans passer par des solutions pénibles du genre Wine, CrossOver, Bootcamp et je ne parle même pas de la GPU...) et c'est direct : "Papa, moi ce sera un pc". C'est donc un PC qui tient la route qui est rentrée chez nous. Et le Macbook Pro 2017 est en sursis...

Donc bon, pour ma part, c'est macOS... Mais ca fait un peu papy fait de la résistance :) ... Apple se coupe d'une grande partie de la nouvelle génération et c'est tant dommage.

Pour finir, Johnny Ive, Tim Crook et sa clique commencent à m'agacer assez sévère :)

Pages

CONNEXION UTILISATEUR