Metal, le DirectX d’Apple ?

Anthony Nelzin-Santos |

La présentation de Swift a tant marqué les esprits qu’on oublierait presque que ce langage de haut niveau a partagé la scène du Moscone Center avec Metal. À en croire Ryan Smith d’Anandtech et le co-créateur de DirectX Alex St. John, cette nouvelle API graphique de bas niveau pourrait avoir des implications bien au-delà des seuls jeux iOS.

Le Metal d’Apple rejoint le DirectX 12 de Microsoft et le Mantle d’AMD dans le petit groupe des récentes APIs graphiques de bas niveau. Le confort du travail à haut niveau se paye par une certaine inefficacité dans l’exploitation des ressources ; se rapprocher du « métal » permet d’en tirer pleinement parti, au prix d’un développement plus complexe. Or les cartes graphiques sont aujourd’hui bien plus puissantes que les processeurs, y compris sur mobile : pour ne pas être ralenti par l’exécution d’une API haut niveau ou des pilotes, mieux vaut utiliser des API directement conçues pour les cartes graphiques et descendre au plus bas niveau possible.

Toutes les API graphiques de bas niveau ne sont pas égales, puisque certaines doivent prendre en compte plusieurs plateformes, et la plupart doivent être adaptées à plusieurs architectures. Dans ce sens, Metal est sans doute l’une des plus optimisées : Apple ne doit s’inquiéter que d’une seule plateforme et d’un seul jeu de composants — dont un processeur qu’elle conçoit en interne et une puce graphique conçue par une entreprise dans laquelle elle a investi quelques millions de dollars. Et ce n’est pas une éventuelle adaptation au Mac qui « diluera » Metal : Microsoft a bien plus à faire avec DirectX et les centaines de configurations possibles dans le monde du PC.

Alex St. John voit aussi dans Metal un moyen pour Apple d’abandonner, à terme, OpenGL. À l’époque de la création de DirectX, il expliquait :

Comment faire adopter nos technologies à toutes ces sociétés, indépendamment de leurs intérêts ? […] J’ai compris que le gros de mon travail consistait à exploiter la technologie pour créer un effet de levier, une force économique qui forcerait l’argent à couler vers Microsoft, qui forcerait les gens à aller vers Microsoft.

Et effectivement, Microsoft a longtemps verrouillé le marché du jeu vidéo sur ordinateur personnel, au détriment d’Apple d’ailleurs. La firme de Cupertino est-elle capable d’un tel cynisme aujourd’hui ? Sans doute, mais Metal est aussi une technologie qui peut réellement améliorer les performances graphiques sous iOS — la démonstration réalisée par Electronic Arts étant de ce point de vue très impressionnante. Et ce n’est pas tant pis si dans le même temps, elle s’éloigne d’un OpenGL qu’elle n’a jamais su exploiter à son plein potentiel, mais qui profite à ses concurrents.

L’iPhone étant aujourd’hui la console portable la plus populaire, les développeurs de jeux ont tout intérêt à exploiter Metal pour obtenir les meilleures performances possibles. Les studios d’envergure et des fournisseurs comme Unity continueront à adapter leurs moteurs à d’autres plateformes, mais les plus petits studios et les indépendants se contenteront peut-être d’aller au plus simple et au plus rémunérateur. C’est-à-dire d’aller vers iOS.

avatar negaca | 

Je pense que c'est à partir de maintenant qu'on verra des jeux AAA sur iOS, et probablement sur une éventuelle AppleTV transformée en console de salon.
Ça commence à prendre forme tout ça.

avatar Andromadeus | 

Si c'est pour avoir que du FreetoPlay payant, non merci.

avatar macouillelafripouille | 

Pourquoi toujours faire dans la caricature? Il manque à Apple une vraie console de salon pour asseoir son pouvoir. iOS étant la pletteforme préférée des développeurs sur mobile, si Metal s'impose, il sera plus difficile de faire du multi-platteforme. Apple deviendrait de fait le leader du marché portable.

avatar John Maynard Keynes | 

@Andromadeus

Toujours amusant de mettre en regards l'impression qu'on ressent sur les forums de rejet sans appel des modèles Free2Paly d'une part et les chiffres d'affaire générés d'autre part :-)

avatar marc_os | 

La Pippin ! La Pippin ! La Pippin !
C'est le retour de la Pippin !
;-)

avatar iJoke | 

Superbe photo

avatar Metalliguitare | 

@iJoke :
Dommage que ce soit pas la composition du groupe actuel : Mustaine, Drover, Borderick et surtout Eleffson.

Ceci dit, c'est de bon goût d'avoir choisi Megadeth pour la photo. :)

avatar T-Dii | 

Moi aussi j'ai pensé à l'Apple tv lors de la présentation de métal!

Apple pose lentement mais sûrement ses pions de manière très prudente et très stratégique dans le monde du jeu vidéo, rendez vous dans deux ans je pense.....

avatar CKJBeOS | 

oui je le dis beaucoup autour de moi, Apple a peut-être perdu de son "cool" mais plus le temps passe plus on sent une énorme maitrise de l'ensemble et un schéma directeur solide !
Cette boite est devenu une énorme industrie, mais qui a l'avantage pour l'instant de savoir exactement ou elle va ! et c'est ce qui en fait la force et la force de ces produits !
Google est pas mal non plus de ce coté la, il n'y a que Microsoft qui peine a se renouveller apres des prises de direction pas toujours tres "logique"

avatar macouillelafripouille | 

Comme je l'ai déjà expliqué, m$ est devenu leader par défaut sur un marché sans concurrence et en forte croissance. Le PC est maintenant en déclin, c'est maintenant qu'on pourra juger sur m$ est un visionnaire. Ballmer n'avait aucune vision, il a juste suivi le marché sans prendre de risque. Zéro prise de risques, zéro innovations, ils ont raté l'orientation mobile du marché. Le pire chez m$ reste leurs interfaces ignobles et leur goût douteux en terme d'accessibilité. Faut souvent tout réapprendre sans logique derrière. Souvent arbitraire et pas du tout orienté client.

avatar CKJBeOS | 

Oui, en soit l'orientation actuelle est bonne, ils ont enfin essayé de se renouveler !
Mais ils l'ont fait avec une énorme maladresse, on a énormément de mal a cerner quel est le schéma directeur de cette boite.
Et vous le soulevez a juste titre, il n'y en avait certainement pas sous l’ère Balmer !
Mais bon à coté Google et Apple progresse, et même très vite et en IT les retardataires finissent des fois par sombrer ! l'histoire nous l'a énormément prouvée (Apple revient de loin pour les mêmes raisons)

avatar John Maynard Keynes | 

Tout en mesure en finesse et en profondeur :-)

avatar Barbababar | 

Manettes... Nouveau système graphique...
Oui, il va commencer à y avoir de bons jeux je pense.

avatar PiRMeZuR | 

Je pense que ça servira surtout aux grosses boîtes qui ont les moyens et les besoins en ressources graphiques.
Si je réalisais un jeu 3D, j'utiliserais Unity pour être sûr de pouvoir le porter sur le maximum de supports. Android est une plateforme indispensable aujourd'hui.

avatar redchou | 

Et unity a annoncé le support de Metal ;-)
Donc ton jeu sera compatible Metal...

avatar macouillelafripouille | 

En même temps, ce sont les gros studios qui développent des jeux AAA, pas les petits développeurs. Donc, en soi, ton problème n'en est pas un.

avatar John Maynard Keynes | 

Tu as une notion de ce qu'est un AAA pour l'industrie ?
Des budgets qu'il implique, des volume de vente qu'il doit produire ... ?

avatar Wolf | 

@PiRMeZuR : Android est une plateforme indispensable aujourd'hui ? Pour qui ?
Un dev n'a pas besoin d'Android pour bien vivre. Au contraire, la plupart du temps c'est une perte ... De temps.
Sauf à avoir une applie nécessitant un accès à partir de n'importe quel terminal, style Facebook, Android est encore largement évitable car difficilement rentable, voir non rentable.

avatar John Maynard Keynes | 

@wolf

Sur le créneau du jeu et plus particulièrement sur le Free2Play, la très conséquente base installée d'Android est aujourd'hui assez incontournable en règle générale ;-)

Au contraire, la plupart du temps c'est une perte ... De temps.

Tu es un rien extrême dans ton propos, spécifiquement sur le type d'application dont nous parlons ici.

Le Free2Play est un modèle fonctionnant plutôt bien sur cette plateforme ;-)

avatar John Maynard Keynes | 

@wolf

Sur le créneau du jeu et plus particulièrement sur le Free2Play, la très conséquente base installée d'Android est aujourd'hui assez incontournable en règle générale ;-)

"Au contraire, la plupart du temps c'est une perte ... De temps."

Tu es un rien extrême dans ton propos, spécifiquement sur le type d'application dont nous parlons ici.

Le Free2Play est un modèle fonctionnant plutôt bien sur cette plateforme ;-)

avatar Andromadeus | 

Mais quel démonstration d'Electronic Arts ? Tout ce que j'ai vu de leur part c'est une vidéo de Plants vs Zombie, jeu qui existe déja pour les PS360 et PS4One

avatar redchou | 

La différence se situe dans le fait que le processeur d'un iPad consomme ~1W et une PS3 ou une 360 100x plus... Et ce n'était pas une vidéo, c'était une démo en temps réels...

avatar Andromadeus | 

La seule démo temps réel c'est celle d'EpicGames. Tout ce qu'on a d'EA c'est une vidéo avec un ipad comme contour.

avatar redchou | 

La vidéo qui est passé était une vidéo tiré d'une démo en temps réel.
Si tu veux voir la démo d'EA, va ici:
https://developer.apple.com/videos/wwdc/2014/
Et tu regardes la vidéo "Platforms State of the Union" à la 46" minute, EA monte sur scène la démo commence à la minute 47"... Et tu auras la preuve que c'est du temps réel vers 48:20...
J'avais zappé qu'elle était dans le State of the Union et pas dans la Keynote...

avatar macouillelafripouille | 

Au delà des performances, il y a le prix de l'Apple TV qui pourrait faire la différence. Les consoles ONE et PS4 sont chères.

avatar trollol0l | 

Tu compares la conso en veille et celle d'une machine à plein régime... ? L'a7 monte à 12 watts de consommation sur de grosse appli, ~85w pour une ps3 qui fait tourner un jeu et ~88w pour la x360.

Du coup tu sources tes 1watts de conso (sur des appli gourmandes ?) ?

avatar CKJBeOS | 

heu il y a eu aussi l'univers Zen assez bluffant en temps reel ;)

avatar XiliX | 

Exact... la démo de Zen Garden m'a litérallement bluffé.
Le nombre d'items à gérer tout en gardant les détails des reflets... etc etc
Impressionnant

avatar Spirit34 | 

Et donc si j'ai bien compris, si un éditeur crée un jeu avec le moteur graphique Métal il ne sera par conséquent compatible qu'avec les appareil IOS possédant une puce A7 ou plus?

avatar redchou | 

Oui. Metal n'est disponible que sur l'A7 sous iOS.
Mais ce n'est pas un moteur graphique, c'est une interface qui permet de controller la partie graphique de l'A7. Rien n'empêche de faire une version Metal d'un jeu pour les processeurs A7 et supérieur et une autre pour les processeurs précédent.
La version OpenGL (non A7/Metal) ne pourra pas atteindre le même niveau graphique que l'autre mais c'est déjà le cas entre un iPad 2, 3, 4...

avatar Spirit34 | 

@redchou :
Merci pour la précision!

En tout cas je sens que je vais me faire plaisir quand je remplacerais mon iPad de 3ème génération!

avatar redchou | 

"une puce graphique conçue par une entreprise dans laquelle elle a investi quelques millions de dollars."
- Je doute de plus en plus que l'A7 dispose d'une partie graphique se limitant à un design d'Imagination Technologie.
Lors de l'iOS Tech Talk, un ingénieur d'Apple m'a clairement dit que ce n'était pas le cas. Je pensais, à l'époque que c'était de la langue de bois, mais je ne pense pas que Metal serait possible sur un design de référence d'ImgTech.
Je pense de plus en plus que comme le CPU, la partie graphique de l'A7 est personnalisé, voir plus, par et pour Apple.

avatar XiliX | 

@redchou

Tu veux dire que Apple aurait acheté une licence architecture à Imagination comme pour l'architecture ARM ? Perso, c'est ce que j'ai pensé depuis le début. Depuis que Apple a présenté A6. De cette manière Apple a le contrôle de l'architecture de ses puces de A à Z.

avatar redchou | 

@ XiliX
- Exactement, c'est ce que m'a laissé entendre l'ingénieur en tout cas.
Quand je lui ai dit que l'A7 disposait d'une puce "PowerVR G6430" comme le disait Anand Lal Shimpi sur son site Anandtech. (http://www.anandtech.com/show/7335/the-iphone-5s-review/7)
Il m'a dit non, c'est un GPU fait par Apple.

- D'ailleur Apple le dit sur son site :
"Since the introduction of the original iPhone, Apple has continued to improve the GPU capabilities in new iOS devices. When you write an OpenGL ES app, you need to understand the specific limits of each device you app runs on. Currently, three distinct GPU families are in common use:
(table 2-1)
The Apple A7 GPU
The PowerVR SGX 543 and 554 GPUs
The PowerVR SGX 535 GPU
Table 2-1 lists iOS devices that use these graphics processors."
(https://developer.apple.com/library/ios/documentation/DeviceInformation/Reference/iOSDeviceCompatibility/OpenGLESPlatforms/OpenGLESPlatforms.html)

- Je ne vois pas pourquoi les ingénieurs d'Apple avoueraient clairement qu'ils utilisent des PowerVR SGX 535, 543, 554 GPU et pas un PowerVR G6430 pour l'A7...

"Depuis que Apple a présenté A6. De cette manière Apple a le contrôle de l'architecture de ses puces de A à Z."
- Par contre, ils m'ont dit que les processeur A5 et A6 utilisaient des design de reference d'ImgTech.
Je pense que l'A7 est le premier SoC d'Apple vraiment personnalisé de A à Z.

avatar XiliX | 

@redchou
"Par contre, ils m'ont dit que les processeur A5 et A6 utilisaient des design de reference d'ImgTech. Je pense que l'A7 est le premier SoC d'Apple vraiment personnalisé de A à Z"

C'est plus que possible. Le A6 était la première puce de conception maison. Apple a peut-être envie d'avancer par palier. Avec l'expérience de A6, Apple a pu aller plus loin dans l'intégration avec A7.

avatar joneskind | 

C'est dommage qu'Apple abandonne OpenGL, mais d'un autre côté, si elle propose une solution plus intéressante pourquoi pas !

Maintenant, Metal c'est juste un "point d'accès" aux ressources de bas niveau. Qu'est-ce qui empêcherait Unity ou Unreal de bâtir son moteur sur cette technologie et en donner l'accès à tout le monde ? Je veux dire, un jeu video c'est un moteur graphique qui affiche des polygones et des textures (pour simplifier). La forme des polygones et l'image des textures ne changent rien pour le moteur. Donc on peut faire n'importe quel jeu optimisé Metal en utilisant simplement un moteur graphique optimisé. Et ça ne change rien au final. C'est Unity qui va compiler autour de Metal, d'OpenGL ou de DirectX.

avatar redchou | 

- Attention, Apple n'abandonne pas OpenGL, OpenGL est toujours disponible dans iOS 8 tournant sur un A7...

"Maintenant, Metal c'est juste un "point d'accès" aux ressources de bas niveau. Qu'est-ce qui empêcherait Unity ou Unreal de bâtir son moteur sur cette technologie et en donner l'accès à tout le monde ? Je veux dire, un jeu video c'est un moteur graphique qui affiche des polygones et des textures (pour simplifier). La forme des polygones et l'image des textures ne changent rien pour le moteur. Donc on peut faire n'importe quel jeu optimisé Metal en utilisant simplement un moteur graphique optimisé. Et ça ne change rien au final. C'est Unity qui va compiler autour de Metal, d'OpenGL ou de DirectX."

- Exactement, un studio qui fait un jeu avec Unity, l'Unreal engine, ou le CryEngine bénéficiera de Metal. Les 3 ayant annoncé sont support. (EA va aussi supporter Metal mais il se réserve le Frostbite engine pour eux...)
Et le jeu développé avec ces éditeurs sera compatible OpenGL, Metal, etc...

avatar byte_order | 

Toutafé, l'argument "cela ira plus vite" est bidon, la couche d'abstraction sera désormais au dessus dans le moteur de jeu utilisé par les développeurs, qui ont autre chose à foutre que de se tapper du codage de bas niveau pour *chaque* jeu.

Par contre, ce que cela change c'est que la couche d'abstraction actuelle, OpenGL ES, et dont Apple avait la responsabilité de maintenir, ben ils n'auront plus à le faire.
En gros, ils se débarrassent d'un truc encombrant sous couvert de buzzword, en laissant le marché s'occuper de combler le trou. C'est les vendeurs de moteurs de jeu qui se frottent les mains, les développeurs eux devront payer plus là où ils pouvaient encore se faire un rapide et simple jeu directement en GLES, et au final l'utilisateur final ne verra aucune différence puisque de toute façon la couche d'abstraction qui limite les perfs sera toujours là.

Sauf à croire que tous les devs vont faire du codage Metal façon artisan... Vu les tendances du marché du jeu, j'en doute fortement. Même sur les consoles, y'a une (voir plus) couche d'abstraction, maison, pas maison, mais y'a.

avatar XiliX | 

@byte_order

Oui et non... pour des boîtes qui proposent des surcouches d'abstraction pour pouvoir utiliser leur moteur, ok, c'est logique. Mais pas pour ceux qui tapent directement dans Metal. Par exemple pour Zen Garden, jê pense qu'ils tapent directement dans Metal

avatar LaurentR | 

Qu'en est-il des ordinateurs de bureau ? Est-ce que Apple va aussi y abandonner OpenGL et utiliser Metal à la place ? J'utilise un jeux (Second Life) qui fait usage de OpenGL et les performances sur Mac sont moins bonnes que sur PC sous Windows. Alors, si Apple abandonne OpenGL, ça ne risque pas de s'améliorer. Je ne comprend rien à ces technologies, donc désolé d'avance si je suis à côté de la plaque :)

avatar redchou | 

Metal ne peut pas être porté pour OS X. Apple continuera d'utiliser OpenGL pour OS X.
Et OpenGL reste disponible pour iOS, Metal ne remplace pas OpenGL c'est une autre façon de faire...

avatar macouillelafripouille | 

C'est parce que Metal est fait pour les processeurs ARM. On ne sait jamais, Apple pourrait un jour développer des mecs avec co-processeur ARM pour le jeu par exemple. Je ne connais pas la différence entre les performances d'un Intel Iris et des dernières puces PowerVR mais la différence doit être de plus en plus ténue.

Sinon, rien n'empêche Apple de développer Metal dans un second temps pour les cartes graphiques Intel, AMD et Nvidia. Apple ne fait jamais les choses comme m$, ils avancent leurs pions sans trop se presser et en dévoiler. Le seul cas où ils ont un peu précipité les choses était pour Plans et ça n'a pas été très concluant même si maintenant ça l'est.

avatar redchou | 

"C'est parce que Metal est fait pour les processeurs ARM. On ne sait jamais, Apple pourrait un jour développer des mecs avec co-processeur ARM pour le jeu par exemple. Je ne connais pas la différence entre les performances d'un Intel Iris et des dernières puces PowerVR mais la différence doit être de plus en plus ténue."
- Ou comme on a pu l'entendre dans plusieurs rumeurs, Apple pourrait aussi sortir un Mac sans Intel, uniquement sous ARM ou comme tu le dis, si j'ai bien compris, un Mac avec une puce ARM en plus de l'Intel...

"Sinon, rien n'empêche Apple de développer Metal dans un second temps pour les cartes graphiques Intel, AMD et Nvidia. Apple ne fait jamais les choses comme m$, ils avancent leurs pions sans trop se presser et en dévoiler. Le seul cas où ils ont un peu précipité les choses était pour Plans et ça n'a pas été très concluant même si maintenant ça l'est."
- Il y a plusieurs son de cloche, mais, pour moi, Apple ne développe pas les pilotes des GPU Intel, NVIDIA et AMD.
Il y a des équipes d'ingénieur chargé du développement des pilotes OS X chez ces 3 sociétés.
- Le fonctionnement de Metal est vraiment très spécifique, il faut un accès très bas niveau. C'est possible sur iOS ou Apple s'occupe de la puce, du driver, et de l'OS, mais sur OS X, tant qu'il n'y aura pas de Mac sous ARM ou une puce graphique Apple dans un Mac... Je n'y crois pas.
- A moins de le faire par l'intermédiaire d'un partenariat, genre une custom implémentation de Mantle pour les puces AMD qui serait un équivalent de Metal pour OS X et ainsi de suite... Mais pour l'instant, Intel et NVIDIA n'ont pas annoncé d'équivalent à Mantle ou Metal...

avatar John Maynard Keynes | 

@redchou

Metal ne peut pas être porté pour OS X

Et pourquoi donc ?

avatar showbiz787 | 

@LaurentR :
Ça existe encore second Life? La vache mec tu t'es perdu bonne chance dans ta vie

avatar LaurentR | 

Euh, vous avez été traumatisé à ce point ? :). Il ne s'agit que d'un jeu. Vous y trouvez ce que vous voulez.

avatar oomu | 

OpenGL ne peut PAS être abandonné

c'est une api de haut niveau qui à l'origine fut conçue pour les logiciels de travail 3D (modeleur, etc, puis qu'un programme tel photoshop peut exploiter aussi)

par contre Metal s'inscrit comme mantle et directx12 dans une logique de spécialisation pour jeux vidéo temps réel.

avatar methos1435 | 

Sympa pour les optimisations que ça apporte mais combient de personnes à saluer l'initiative qui, hier, critiquaient Microsoft pour DirectX ? ...

avatar macouillelafripouille | 

T'as déjà vu m$ optimiser quelque chose toi?

Ce que m$ a tenté avec DirectX c'est garder les gens captifs de leur système. A l'époque où ils sont arrivés, le rendu OpenGL était bien meilleur. Ils ont séduit les développeurs mais DirectX n'était pas la meilleure solution. Les performances de Metal sont bien loin de celles de DirectX à l'époque.

Dans ce cas-ci on remplace par quelque chose de bien plus puissant, ce qui était loin d'être le cas à l'époque de DirectX.

avatar CKJBeOS | 

sauf que Metal est sur le point de la captivité identique a DirectX.
Le seul bénéfice c'est qu'il y a une vrai concurrence qui Oblige Apple a ne pas sortir un produit baclé, et c'est ce qui à manqué a Microsoft pendant 20 ans !!!
Microsoft a eu l'énorme avantage d'évoluer dans un environnement aquis, donc se fatiguer pour quoi faire ? (faite un tour sur le web cela regorge de techno made in Microsoft abandonnée, sans même parler des technos dans IE proprio alors que internet était un "phénomène de mode")
en fait on a toujours eu l'impression d'utiliser des betas à l'époque ;( mais bon on en est pas mort non plus !
Et les autres boites peuvent en quelque sorte remercier microsoft d'avoir fait ainsi, car ça a poussé les utilisateurs a voir ailleurs !

Pages

CONNEXION UTILISATEUR