Metal : l’atout jeu d’Apple face à Android
La WWDC a bien été une conférence orientée développeurs : entre la cascade d’outils ouvrant iOS aux quatre vents, le nouveau langage de programmation SWIFT ou bien encore le framework Metal, rarement les programmeurs oeuvrant dans l’éco-système à la pomme n’auront été aussi choyés. Si l’on sait déjà beaucoup de SWIFT, Apple ayant livré une première documentation très complète, il n’en va pas de même pour Metal, dont les apports auront pu sembler beaucoup moins lisibles. Metal, c’est avant tout un framework de bas niveau, c’est à dire que les outils d’optimisations qu’il propose permettent d’interfacer directement le moteur graphique avec le processeur A7 et le GPU Rogue. Dans le cadre habituel, le moteur graphique est implémenté au niveau du SDK de l’os, un ensemble d’outils de programmation permettant de faciliter la vie du développeur mais dont la pleine optimisation avec le « contexte » matériel du moteur est inversement proportionnelle avec son universalité.
En d’autres termes, pour tourner indifféremment sur plusieurs plateformes, Unity, Unreal Engine ou d’autres en restent à une couche haute du système, où l' »interprétation » du moteur ne posera aucun soucis, que l’on se trouve sur iOS, Android ou Windows. Corollaire de cette relative neutralité, l’optimisation est souvent médiocre, et le codeur n’utilise au final qu’un faible pourcentage de la puissance réellement disponible, comme s’il faisait rouler à la vitesse d’une Clio un véhicule doté d’un moteur Porsche. A cause de cette lourdeur, nombre de gros moteurs n’ont pas pu être adaptés sur mobile : l’Unreal Engine 4, Frosbite sont persona non gratta sur smartphones alors que les performances actuelles des derniers Rogue d’Imagination, du K1 de Nvidia ou même les dernières générations d’Adreno sont théoriquement capables de les faire tourner. C’est là que le Metal d’Apple intervient, qui permet au moteur graphique de coller au plus près des performances réelles du hardware, comme une veste bien ajustée.
Une illustration des capacités du Frosbite Engine (BF3), qu’EA vient de porter sur iOS
Ce qui rend Metal encore plus intéressant, c’est que ce type de framework de bas niveau est ingérable sans une maîtrise verticale parfaite de la chaîne, du logiciel au matériel, à moins de se retrouver dans le cas de figure de DirectX, qui n’a surtout dominé le marché que grâce au poids de Microsoft et certainement pas à cause de ses qualités intrinsèques. Apple tient dans ses mains le A7, qu’il a entièrement conçu, et possède une équipe interne entièrement dévolue au GPU; sans compter bien sûr le fait qu’iOS, c’est encore et toujours Apple. Metal a pu donc être conçu en parfaite symbiose avec iOS et les processeurs de l’iPhone, une symbiose hors de portée aujourd’hui de Google, qui ne peut pas gérer la myriade de propositions matérielles basées sur les SnapDragon, Exynos ou autres processeurs mobiles Intel, sans compter les grandes divergences de spécifications des smartphones Android, qui fluctuent en capacités de RAM, en GPU, en résolution d’affichage ou autres.
De plus, Google n’a sans doute pas à l’heure actuelle les compétences internes pour rivaliser avec le groupe d’ingénieurs Apple entièrement dédié à la conception des processeurs mobiles de série Ax, un groupe qui a prouvé avec l’A7 64 bits qu’il avait une réelle avance sur le marché. Sans maitrise verticale hardware/software, sur un marché Android totalement éclaté en de multiples versions matérielles, Google n’a pas les moyens de créer aujourd’hui un équivalent de Metal, ce qui risque bien de pénaliser lourdement la plateforme Android en terme de performances. Même intégré à Unity, Metal ne s’appliquera que lors du développement sous iOS, ce qui veut dire qu’un même jeu 3D risque d’avoir des résultats très différents selon qu’il tourne sur iOS ou Android; en fait, c’est maintenant une quasi certitude. Sans compter les moteurs qui resteront trop « lourds » pour Android sans l’emploi d’un framework de bas niveau. La différence sera d’autant plus importante qu’Apple a pris le bon cheval avec Imagination, dont les tous derniers modèles Rogue de seconde génération surclassent même le K1 de Nvidia. La puissance du couple A8/Rogue 2 couplée à l’optimisation de Metal risquent fort de faire de sacrées étincelles pour la sortie du prochain iPhone. Et d’un coup, une Apple TV orientée jeu redevient elle aussi une option parfaitement crédible.
la Apple vient de marquer pas mal de point et reprenne de l’avance face à la concurrence.:D
Wow quel article, bravo à l’auteur !
Ouais mais moi j’ai quasiment rien compris !! ;-)
En gros apple est dans le turfu et google a la ramasse…
On est deux! ^^
bel artcicle ! très bien rédigé !
Ce M. Frederic L. rédige des articles complets !! chapeau ;)
Grace a ces avancés Apple pourrait même regagner les joueur qui jouent sur leur téléphone et peut être redevenir majoritaire au niveau des os mobiles
compliqué ça vu le prix des idevices
Ce qui permet à Metal d’avoir un accès de si bas niveau au GPU, ce n’est pas parce que c’est un framework mais une API !
Et dommage que l’article n’intègre pas un « MAIS » : mais quel sera la facilité de porter un jeu Open GL vers l’API Metal ? Mais comment Apple fera pour inciter les développeurs à créer des moteurs pour Metal alors que cet API sera uniquement compatible avec les iPhone ? Il faudra alors que les développeurs sortent leur moteur sous OpenGL pour Android ET sous Metal pour les iPhone.
Dans tous les cas il y aura donc un portage à faire, et donc plus de travail pour les développeurs, même si Metal permettra surement des moteurs 3D de meilleure qualité pour une charge processeur moins importante, à la manière de Mantle et DirectX 12 sur PC.
Apple lui-même décrit Metal comme un framework ; https://developer.apple.com/library/prerelease/ios/documentation/Metal/Reference/MetalShadingLanguageGuide/Introduction/Introduction.html, ce qui ne veut aps dire bien entendu qu’il n’y ait pas d’APIs de bas niveaux accessibles aux développeurs. Il n’y aura pas de difficulté à intégrer Metal aux Moteurs existants, même si la compatibilité Metal ne se fera qu’avec iOS, les APis de Metal peuvent totalement s’intégrer dans les outils Unity traditionnels. Apple garantit que l’apport de Metal sera quasi transparent pour les devs.
Donc je ne pense pas que ce sera un « problème ». Il y aura sans doute plus de travail pour les devs, mais ce sera aussi pour eux le moyen de bien distinguer leurs productions sur l’App Store, qui reste la boutique la plus rentable devant Android. Ceux qui ne joueront pas le jeu Metal (et on le verra vite avec la version Android à côté), auront sans aucun doute beaucoup moins de visibilité par rapport à ceux qui exploiteront le truc à fond. De plus, Metal va permettre l’arrivée de certains moteurs qui jusqu’ici ne pouvaient pas être adaptés sur les plateformes mobiles, pas forcément à cause d’un manque de puissance, mais justement parce que les outils de développement sont souvent tellement haut-niveau qu’on est très loin de pouvoir exploiter toute la puissance possible.
Un framework qui découle de l’API ;)
J’attends quand même de voir qui suivra Apple avec Metal et surtout, ce que le Kronos Group va proposer en face. OpenGL permet déjà de faire du développement de bas niveau mais de manière surement plus difficile que ce que propose ici Apple.
Après dire que Metal sera transparent pour les développeurs, encore une fois, j’attends de voir… en tout cas de nouvelles fonctionnalités font leur apparition, ce qui obligera les développeurs à avoir une version Open GL ES et une version Metal même si les différences entre les deux ne seront pas fondamentales.
Selon moi, c’est dommage de distinguer ses productions sur l’App Store … j’aime l’iPhone et je possède un iPhone mais les écosystèmes fermés sont pour moi une menace. Il est donc clair que le Kronos Group va réagir … peut-être même sous la pression des développeurs :)
Mode casse bonbon on :
« Apple face à Android »
Je trouve cette phrase ( que l’on retrouve partout ) enervante a souhait.
Apple est le nom d’une société ( a contrario de Samsung & Co )
Android est le nom d’un systeme d’exploition ( a contrario d’IOS )
Sinon pour en revenir a l’article, oui Metal s’est bien, cependant il ne faut pas oublié les restrictions des fois débiles de Apple : Interdiciton pour une appli de changer la luminosite, d’utiliser la capteur biometrique etc…. donc bon d’un coté on optimise a mort, mais de l’autre on bride les accès.
BOn cela va peut etre changé avec Ios 8 ( vu les dernieres news )
Et bien avec iOS 8 Touch ID devient justement ouvert au développeurs … Et pour changer la luminosité dans une appli bah ta le centre de contrôle non ??
Encore un bel article rédigé par Fred ! Merci^^
Si non rédigé en un français simple, ça donne quoi ? Steve Jobs répétais sans cesse : la simplicité c’est la clé … Article bien rédigé, mais trop lourd au niveau du Français employé. Plus de la moitié n’a rien compris. Faites simple la prochaine fois
Fait des recherches si t’as rien compris, je préfère des articles comme ça où il y a un minimum de profondeur ! Moi ausi j’ai pas tout compris et c’est normal. Sinon on peut réduire l’article à ça » metal va simplifié le portage des moteurs graphique. C’est un bel effort de la part d’Apple etc… » et cela devient ridicule.
Oui parce que bon les articles pour enfant qui ne font que relayer des infos y’en a assez…
Change rien Freddy ! t’as l’air d’aimer ce que tu fait, moi j’aime tes articles ! continue !
PS:A propos de Steve Jobs ça phrase c’etait: Simplicity is the ultimate sophistication, 1977 presentation de l’apple II
Donc la simplicté c’est pas juste d’aller au plus simple justement.
@ reborn
Son article est bien rédigé, je ne dis pas le contraire. Je ne remets pas non plus en cause la qualité des informations fournies.
Mais si le canal utilisé pour transmettre l’information est difficile à interpréter, l’information devient inutile… A méditer.
Une bonne information doit être claire, précise, et compréhensible. Le verbiage inutile ne fait que polluer l’information plutôt que de l’enrichir.
A bon entendeur…
Non non justement pour le coup je trouve cet article plus riche en infos, ceux qui ne comprennent pas n’ont qu’a aller voir ailleurs, c’est quoi ce nivellement vers le bas !
Allez voir les sites anglophones: ils n’ont pas peur que ce soit moins compréhensibles, eux ! Et donc les gens s’intéressent au contenu, posent des questions, font une ou deux petites recherches, et au final ils sont pas des ignorants qui ne comprennent pas ce qu’ils répètent bêtement !
J’ai télécharger IOS 8 avec un compte car j’ai payer et il me dit fichier incompatible avec mon iPhone quand je veux mettre à jour pourquoi ? Aidez moi
Ça fait du bien de lire ce genre d’article et qui plus est, est très bien rédigé
Très très bonne article. Enfin du détail et pas seulement des affirmation sans réflection.
Continue comme sa.
Apple marque de très gros point face à la concurrence en effet avec ces technologies lui appartenant et son équipe d’ingénieur. Le 100% Made in Apple paye.
Mais Samsung ne tardera pas à copier…
Samsung ne gère en rien du tout le développement d’Android. Si il y à une copie au niveau d’un framework bas niveau, cela viendra d’Android et donc de Google lui-même et pas d’un Galaxy ou d’un HTC One etc ;)
C’est vraiment rare de voir un aussi bon article, surtout que le sujet est bien choisie et que la presse n’en parle pas beaucoup voit pas du tout.