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é.

Apple_Metal

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.

Frosbite-engine

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.