Metal, l'unique voie d'Apple pour faire briller les jeux

Antoine Collin |

Vous le savez, Apple aime bien les technologies propriétaires, et l'API Metal en est un exemple intéressant. Introduite en 2014 et depuis devenue essentielle au sein d'iOS et macOS, cette API graphique offre d'excellentes performances… tout en souffrant d'inconvénients inhérents aux choix d'Apple.

Pour commencer, il faut expliquer rapidement en quoi consiste une API graphique. Une API, pour Application Programming Interface, est un ensemble de commandes standardisées qui permet ici d'effectuer des tâches graphiques. L'exemple est un peu simple, mais si vous voulez obtenir un triangle, vous n'allez pas devoir définir chaque point dans la mémoire vidéo pour l'affichage : l'API dispose d'une commande pour le faire. Il existe des API pour la 2D (par exemple QuickDraw, avec le premier Macintosh), d'autres pour la 3D et certaines pour le calcul. Les API modernes vont évidemment nettement plus loin que « dessiner un triangle », mais vous avez compris le principe (j'espère).

Les anciennes API graphiques

Dans les années 1990, le monde de la 3D n'était pas encore standardisé et il existait différentes API en fonction du matériel : QuickDraw 3D chez Apple (qui avait même proposé sa propre carte 3D), Glide pour les cartes 3dfx, MeTal pour S3 (oui, déjà, mais ce n'est pas le même), etc. Assez rapidement, deux API sont sorties du lot : OpenGL (issu d'IrisGL et des stations Silicon Graphics) et Direct3D, la solution de Microsoft.

avatar Florent Morin | 

Excellent article 👍

avatar Ali Ibn Bachir Le Gros | 

Bon, Apple et les GPU, les graphismes et les jeux, c'est pas ça. A part les petits jeux d'arcade, c'est pas fait pour.
Moi j'ai acheté un PC de gamer pour jouer. Le Mac c'est pour travailler. C'est la politique d'Apple. C'est une marque de luxe.

avatar Silverscreen | 

@Ali Ibn Bachir Le Gros

C’est vrai depuis des années. On peut jouer à certains jeux sur Mac mais le Mac n’est pas fait pour jouer...
Par contre, iPhones et iPads sont faits pour jouer et leur architecture totalement optimisée en ce sens.
Donc la grande inconnue c’est : qu’est-ce que vont donner des Macs basés sur la même architecture ? Quels gains on peut espérer avec des processeurs et des puces graphiques Apple ? Finis les drivers pas optimisés.

Tout dépendra des développeurs : est-ce que la perspective pour un développeur de jeux iOS de pouvoir cibler facilement le Mac incitera à créer des jeux plus ambitieux sur les deux plateformes ou est-ce que la ludothèque sur Mac sera une transposition a minima de celle d’IOS ?

Si Apple sort de sa manche des monstres de puissance sur ARM, ça pourra évidemment énormément jouer sur la décision des uns et des autres... J’ai hâte de savoir ce que les premiers Macs ARM auront dans le ventre !

avatar YetOneOtherGit | 

@Silverscreen

Toujours surpris par ces espoirs de voir les majors du Jv s’intéresser fortement à MacOS : c’est tout simplement économiquement sans-faute intérêt pour eux et je ne vois aucune raison que cela change.

avatar reborn | 

@YetOneOtherGit

Pourquoi pas si sa s’exécute sous iOS comme macOS sans effort.. (mac AS)

avatar DrStax | 

@reborn

Sauf qu’un jeux mobile n’est pas un jeux « Standard ». L’expérience de jeux n’est pas du tout la même. Pour que les gros studio s’intéresse sérieusement à MacOS il faudrait un parc de machine plus conséquent.

avatar reborn | 

@DrStax

Je comprend le soucis de l’expérience. Mais si c’est aussi compatible manette ça règle une bonne partie du problème.

avatar Pepoto | 

@reborn

Certains ont pris le temps de décortiquer le contenu des tutoriaux de développement Apple en rapport aux jeux de la dernière WWDC et cela semble quand même assez prometteur.
Les (très petits) GPU Apple font déjà de très belles choses dans un iPad, on peut donc attendre raisonnablement plus d’un Mac qui autorisera plus de coeurs GPU avec un refroidissement actif.

https://youtu.be/XOFEwWKPsxo

https://youtu.be/_5tt4_T1zbc

https://youtu.be/o3SazVqOQv0

avatar reborn | 

@Pepoto

J’ai vu tout cela déja ;)

avatar YetOneOtherGit | 

@reborn

"Pourquoi pas si sa s’exécute sous iOS comme macOS sans effort.. (mac AS)"

Ce ne sont pas le type de jeux qu’attendent en général ceux qui attendent ce qu’ils appellent de “vrais jeux” 😉

avatar oomu | 

@YetOneOtherGit

EXACTEMENT !

(à hurler et à graver en lettres de feu sur le mont Fuji)

avatar YetOneOtherGit | 

@oomu

"(à hurler et à graver en lettres de feu sur le mont Fuji)"

Vanitas vanitatum, omnia vanitas & sic transit gloria mundi 😜

avatar oomu | 

@YetOneOtherGit

définitivement absurde d'imaginer les grands éditeurs traiter le mac comme pour windows pour les jeux vidéos.

Des exceptions comme Baldur's gate 3 s'expliquent par le fait qu'ils sont en soi déjà de niche et financés par des gens motivés. ils restent des exceptions, formidables, mais des exceptions

économiquement ça ne marche pas.

autant acheter un bon pc avec un bon gpu et avoir accès à un choix démentiel. Et c'est le calcul que tout le monde fait.

avatar YetOneOtherGit | 

@oomu

"économiquement ça ne marche pas."

Yep et ce n’est que très marginalement lié à des choix stratégiques d’Apple.

avatar Yil2201 | 

Super article, merci!

avatar horatius | 

Encore un article très clair qui justifie pleinement l’adhésion au club.

avatar maxime101286 | 

@horatius

👍

avatar frankm | 

Et oui, le mauvais exemple c’est Infinite Flight (iOS) qui a très bien su intégrer les abonnements pour le pognon. Mais faire un effort pour Metal ils n’ont pas su. Toujours pas aujourd’hui.
Du coup, c’est un pseudo simulateur vol sans nuage, sans bâtiments 3D et en basse résolution. Par contre l’abonnement est premium sans aucune honte. Attention : les images promotionnelles sont époustouflantes, mais une fois dans le cockpit 🤭

avatar fabricepsb71 | 

« Ensuite parce que Metal offre de bonnes performances, très nettement plus élevées que celles d'OpenGL. Dans certains cas, comme récemment avec Baldur's Gate 3, Metal est souvent plus rapide que DirectX sous Windows à configuration identique, même si DirectX 12 et Vulkan amènent en réalité des gains équivalents. »

Je ne comprends pas le sens de la fin de la phrase. Metal est plus rapide ou non que les API Windows ?

avatar MachuPicchu | 

Je tiens à dire que je lis avec beaucoup de plaisir l’auteur de cet article, c’est toujours très intéressant, clair et détaillé. J’espère qu’il écrira encore de nombreux articles pour MacG, expliquant en détail les différentes technologies utilisées par Apple !

avatar YetOneOtherGit | 

Bon papier de vulgarisation sur cette belle API

avatar cecile_aelita | 

@YetOneOtherGit

Tout à fait !
iOS 8 a l’époque avait été un excellent cru (sortie de métal entre autre).
C’est sur ce genre de techno que j’attends Apple quand il y a des mises à jours (métal / core ML / APFS / fusion drive / app nap etc ....)
Les trucs « visuels » comme les widgets façon « Jacky tuning » ... mouais ... j’en vois pas un gros intérêt personnellement ! Après il en faut pour tout le monde, c’est sûr, mais c’est aussi pour ça qu’il existe la concurrence à iOS (et il en faut). Espérons juste que tout ne d’uniformise pas à la fin...🙂

avatar ValentBay | 

@romainB84

On se souvient tous d’iOS 8.0.1, le pinacle du perfectionnisme si cher à Apple 😄

avatar cecile_aelita | 

@ValentBay

M’en souviens pas ! Mais j’imagine que si tu l’as cite c’est que ça devait être une version daubé?
Comme si iOS8 avait le monopole des bugs 😂!
J’irais même plus loin : comme si iOS avait le monopole des bugs 😂😂

avatar ValentBay | 

@romainB84

La mise à jour avait bloqué Touch ID et l’accès au réseau cellulaire des iPhones 6 et 6 Plus. Apple a retiré la MaJ 90 minutes après sa diffusion ! Ça a fait un sacré pataquès à l’époque.

avatar cecile_aelita | 

@ValentBay

Je te fais confiance !
Ça ne me dis rien, mais j’ai du avoir du bol et ne pas être affecté

avatar reborn | 

@ValentBay

Corrigé dès le lendemain avec iOS 8.0.2 :)

avatar cecile_aelita | 

@reborn

Ah bah ça doit être ça lol
J’avais du zappé cette mise à jour en fait 😂

avatar frankm | 

@romainB84

« Jacky tuning », joli qualificatif pour iOS 14.
Et pour cause, macOS 11 est un très très gros morceau cette année

avatar cecile_aelita | 

@frankm

C’est pas une critique ! Il y’a des gens qui adorent customiser leur appareil, c’est leur droit et tant mieux qu’ils le puissent. Moi perso c’est pas mon délire! (Après je me dis que si c’est pour faire du customing, android semble quand même beaucoup plus adapté 🙂 mais c’est un autre débat!). La fonctionnalité que je préfère sur iOS 14, c’est le fait de pouvoir enfin faire des vraies automatisations avec raccourcis ! (Chacun voit midi à sa porte comme on dit 🙂)

avatar Seb42 | 

Très bon article et malheureusement peu d’espoir pour que le mac devienne une plaque tournante du jeu.
Pour iOS, je suis un peu plus mesure.
Certes le retrait d’Epic pourrait compliquer.

avatar sephkem | 

Bel article en effet. Pour moi, l’arrivée des mac silicon va être un tournant pour le jeu. Soit les gens comme blizzard et autres adhèrent et continuent à supporter des jeux comme WoW, sinon Apple sera seul avec son Apple Arcade

avatar YetOneOtherGit | 

@sephkem

"Pour moi, l’arrivée des mac silicon va être un tournant pour le jeu. Soit les gens comme blizzard et autres adhèrent et continuent à supporter des jeux comme WoW, sinon Apple sera seul avec son Apple Arcade"

Le Mac ARM ne change rien à l’affaire.

Il n’attirera pas de nouvelles majors et ne change pas profondément la donne pour les rares acteurs actuellement impliqués sur MacOS.

avatar sephkem | 

@YetOneOtherGit

Attirer des nouveaux je suis d’accord mais dans le cas de Blizzard, j’ai l’impression (peut-être fausse) que ça va leur demander un effort supplémentaire le passage au mac ARM. Ma crainte est surtout qu’ils disent STOP

avatar oomu | 

@sephkem

en soit Blizzard a déjà dit STOP avec Overwatch.

Overwatch fut totalement écrit pour Direct X (contrairement à leurs précédents qui étaient opengl) et pour X raisons Blizzard a pas daigné en faire une déclinaison Metal (zéro intérêt du public en étude de marché je suppose)

World of warcraft a été porté à Metal, mais quand on compare les options graphiques ont voit le gouffre avec sa version Windows.

En particulier la nouvelle extension apporte le support (limité) du raytracing issu de Direct X12, pas l'équivalent dans Metal.

avatar YetOneOtherGit | 

@sephkem

"j’ai l’impression (peut-être fausse) que ça va leur demander un effort supplémentaire le passage au mac ARM"

Efforts assez minime, s’ils quittent la plateforme ce sera juste parce qu’elle n’en vaut pas la peine.

Le Mac ARM c’est quasiment anecdotique dans l’équation.

avatar maxime101286 | 

@sephkem

Ho non. Je me suis desinscrit tellement pas ce que je cherchais. Bon pour un enfant c est top

avatar FrantzR | 

Ce qui est dommage, c’est qu’on pense trop souvent aux jeux vidéos. En tant que graphiste et fils de graphiste j’ai toujours été sur Mac (depuis un Mac IIci). Or maintenant qu’au fil de mon parcours je m’intéresse à la 3D, je sens qu’il va falloir que je m’intéresse au monde PC. Les moteurs de rendus sont quasi exclusivement conçus pour CUDA donc Nvidia et j’espère que la donne change. Je fonde un espoir sur Blender pour adopter Metal (il me semble avoir lu que c’était un projet pour la fondation).
Bref, il n’y a pas que les jeux qui sont important, la 3D aussi, surtout quand on se donne une image de « marque pour les créatifs »

avatar sephkem | 

@FrantzR

J’avoue que j’y connais rien donc désolé si je suis trop à côté de la plaque mais le logiciel 3D tournant « fluide » sous Rosetta ça te rassure pas un peu ?

avatar FrantzR | 

@sephkem

Je parle surtout de l’exploitation de la carte graphique pour le rendu.
Effectivement Maya tourne très bien, tout comme Cinema4D ou Blender. C’est tout à fait fonctionnel sous intel (et je ne doute pas que ça le sera sous Apple Silicon).
Mais les moteurs de rendu n’exploitent pas la carte graphique des Mac et le rendu doit se faire sur le processeur. C’est acceptable pour mon usage, et c’est pour ça que je n’ai pas (encore) bazardé mon iMac.
Mais si on compare avec ce qui se fait sur PC, là on ne peut que constater un gap énorme.

avatar oomu | 

@FrantzR

CUDA !

CUDA est le fossoyeur du mac dans le domaine de la création 3D.

avatar YetOneOtherGit | 

@oomu

"CUDA est le fossoyeur du mac dans le domaine de la création 3D."

Un rien caricatural non ?

Le Mac était déjà absolument anecdotique sur le CGI 3D bien avant la balkanisation de NVidia

avatar cv21 | 

@oomu

"CUDA est le fossoyeur du mac ..."
Je suis d'accord. Cela y participe.

Cela dit, pour voir un peu le verre à moitié plein, Apple propose avec retard une API qui semble tenir la route. Je n'y croyais plus : raytracing, application "reality converter", manipulation d'objets 3D dans Motion, exports toujours plus rapides dans FCPX, des iPhones aux performances sympathiques, etc... Cela prête à sourire par rapport au moindre PC équipé d'un "gros GPU" avec des logiciels optimisés. Ayant choisi cet Os, je trouve plaisant de constater une amélioration. L'article souligne le choix isolé d'Apple.
Pour l'anecdote, Maxon recommande l'usage de Catalina pour son logiciel Cinema 4D afin de profiter au maximum de Metal.
https://www.maxon.net/fr/produits/cinema-4d/configuration-du-systeme/

@FrantzR
Si j'ai également lu une possibilité de porter Metal dans Blender, je n'en retrouve plus la trace...Les quatre contributions majeures à plus de 120K€/année proviennent de Nvidia, AMD, Epic et depuis le mois d'août Unity. Cela favorise peut-être les autres API qui se sont entre temps imposées (CUDA, etc...). https://fund.blender.org

@macg
Merci pour l'article.

P.S. Je retombe sur ce tableau qui liste les fonctionnalités de Metal selon les familles et versions des GPU. Le A14 coche toutes les cases équivalentes aux GPU de mac. Il y a juste l'affichage BC pixel format non pris en charge par les GPU d'Apple. Comment l'interpréter ?
https://developer.apple.com/metal/Metal-Feature-Set-Tables.pdf

avatar John McClane | 

Je comprends mieux pourquoi à chaque démarrage, mon MacBook Pro mi-2014 me dit que CUDA n’est pas à jour... et qu’il n’y a pas de driver à jour disponible.

avatar Maxi22700 | 

En annonçant les macs scilicon, Apple a aussi annoncé son soutient à divers projets pour les porter sur les futurs macs, dont blender. Espérons que cette aide concerne aussi les moteurs Eevee et Cycles, un portage sur metal serait vraiment top. Ça me gave tellement de ne pas pouvoir disposer de la puissance de mon gpu pour faire des rendus...

CONNEXION UTILISATEUR