Introduction
L’API Mantle d’AMDest un sujet qui ne laisse pas indifférent dans le monde des jeux PC : on constate de nombreux avis différents, beaucoup d’informations, de la spéculation à la pelle et quelques rares faits établis. Nous souhaitions donc faire un article complet sur le sujet, ce qui passe nécessairement par le jargon propre à l’industrie dans un premier temps. Commençons donc par quelques définitions avant de voir comment et pourquoi nous en sommes arrivés à Mantle.
Qu’est-ce qu’une API ?
L’acronyme API signifie interface de programmation (application programming interface), sachant que le mot interface est primordial : une API est conçue pour permettre aux programmes d’interagir, de communiquer entre eux.
La fonction copier/coller sous Windows constitue un excellent exemple: lorsque l’on copie un paragraphe sur une page Web vers le presse-papier pour ensuite coller ces caractères dans un logiciel de traitement de texte, on a utilisé une API. En effet, les développeurs du navigateur Internet ont inclus une prise en charge de la fonction copier de l’API, tandis que les programmeurs du logiciel de traitement de texte ont intégré la gestion de la commande coller de l’API. Ces deux programmes communiquent donc entre eux via l’API.
L’avantage d’une API tient au fait que les développeurs n’ont pas besoin de coder une prise en charge spécifique pour chaque programme existant. Sans API, tous les logiciels de traitement de texte existants devraient proposer du code spécifique afin de proposer une fonction copier/coller avec n’importe quel autre logiciel de traitement de texte. Bien entendu, ce modèle n’est pas viable.
Les API ont cependant un inconvénient : elles ne sont pas aussi efficaces que le codage spécifique à la communication directe entre les logiciels. L’aspect pratique de l’API se paye donc par une sollicitation plus importante des composants et ressources disponibles.
Qu’est-ce qu’une API graphique ?
Compte tenu de ce que nous venons d’évoquer, une API graphique communique entre un programme et le pilote d’une carte graphique.
La compatibilité est primordiale ici. Au lieu de coder un moteur de jeu de manière à ce qu’il puisse communiquer avec des pilotes de cartes graphiques bien définis, les développeurs peuvent se concentrer sur la communication avec l’API. Cette dernière sollicite ensuite le pilote graphique, lequel envoie ses instructions à la carte graphique. De ce point de vue, les API graphiques peuvent donc être considérées comme l’une des couches d’abstraction entre l’OS et les composants.
Si le but d’une API graphique est la simplicité et la commodité, pourquoi existe-t-il plus d’une API ?
OpenGL trouve ses racines dans Iris GL (Integrated Raster Imaging System Graphics Library), API graphique propriétaire crée par Silicon Graphics au début des années 80. A la surprise générale, l’entreprise américaine a fait évoluer son API pour en faire un standard ouvert : l’API OpenGL (Open Graphics Library). Les concurrents de Silicon Graphics avaient donc accès à l’API moyennant leur participation à la maintenance et à l’actualisation du code.
Microsoft avait même un siège à l’Architecture Review Board (ARB) d’OpenGL jusqu’en 2003, époque à laquelle de géant de Redmond s’est retiré pour promouvoir sa propre API propriétaire, à savoir DirectX. Cette dernière est utilisée par Windows ainsi que les Xbox, ce qui permet de justifier facilement son choix lorsque l’on est un développeur qui souhaite utiliser au mieux ses ressources disponibles.
Ceci étant dit, John Carmack est un résistant célèbre qui a pu prouver le fait qu’OpenGL était encore utilisable pour des jeux PC complexes (comme Rage). De plus, OpenGL est important de par sa compatibilité multiplateformes : Windows, Mac et Linux. Android, Windows Phone et iOS utilisent quant à eux Open GL ES (Open GL pour systèmes embarqués). Au fur et à mesure que les jeux sur appareils mobiles prennent de l’importance, OpenGL s’affirme.
Quelles sont les faiblesses de DirectX 11 et OpenGL ? Pourquoi avait-on besoin d’une autre API graphique ?
Sur le papier, le fait d’avoir deux standards qui cohabitent est déjà suffisamment préjudiciable pour que l’on évite d’en ajouter un troisième. Mais il faut se demander dans quelle mesure les API actuelles ne répondent pas aux attentes des développeurs.
DirectX et OpenGL ont tous deux été créés lors du précédent millénaire, bien avant que les processeurs multicores ne trouvent leur chemin dans les configurations accessibles au plus grand nombre. Certains développeurs ont récemment reproché à ces deux API d’être lourdes, de souffrir d’instabilité et enfin de proposer un mauvais échelonnement des performances (voire aucun) sur des configurations multithread. De plus, aucune API n’est parfaite. Nous sommes nombreux à avoir été contraints, ne serait-ce qu’une seule fois, de mettre à jour nos pilotes graphiques pour faire fonctionner correctement un nouveau jeu. A chaque fois que cette situation se manifeste, l’API graphique a tout simplement échoué dans son rôle de couche d’abstraction.
Pour ne rien arranger, une rumeur selon laquelle Microsoft envisageait d’arrêter le développement de son API a circulé l’année dernière. Lors d’une interview avec nos confrères allemands de heise online, Roy Taylor (vice-Président d’AMD) a affirmé « Les versions successives de DirectX ont apporté un renouveau à l’industrie, tandis que les cartes graphiques qui sont sorties en parallèle nécessitaient plus de ressources CPU et mémoire. Mais c’est désormais du passé : à notre connaissance, DirectX 12 n’est pas prévu ». Enfin, un mail très maladroit de Microsoft aux développeurs le 30 janvier 2013 annonçait tout simplement que « DirectX n’évoluait plus en tant que technologie ». Le géant de Redmond a bien entendu réagi en invoquant une mauvaise communication, sans pour autant expliquer ses intentions pour DirectX 12, ce qui a rendu plus d’un développeur nerveux.
AMD affirme avoir été poussé à la création d’une nouvelle API, capable de répondre à ces problèmes, par les développeurs déçus de l’état dans lequel se trouvent DirectX et OpenGL. Précisons que les APU et cartes graphiques d’AMD équipent la Xbox One, la Playstation 4 ainsi que bon nombre de PC, ce qui met donc le géant de Sunnyvale dans une position unique pour proposer une nouvelle API, puisque cette dernière pourrait être exploitée par de multiples plateformes.
En quoi Mantle fait théoriquement mieux qu’Open GL et DirectX ?
Mantle est souvent associé au terme « bas niveau », mais qu’est-ce que cela signifie vraiment ? Pour répondre très simplement, il s’agit de minimalisme : l’API d’AMD est plus légère, plus simple et par conséquence plus rapide que DirectX 11 et OpenGL. Mantle suppose soit – disant moins la volonté des développeurs que DirectX quant à leur approche pour rendre une scène donnée. Ceci confère donc un contrôle des ressources plus important aux développeurs, au détriment de l’API, permettant donc une meilleure optimisation.
Dans cette optique, Mantle a donc le potentiel pour être plus efficace que DirectX 11 et OpenGL. De plus, l’API d’AMD est capable d’exécuter une multitude de commandes de rendu en parallèle pour répartir la charge sur plusieurs unités d’exécution processeur. Si Mantle parvient à réellement profiter de ressources plus importantes, les processeurs comptant plusieurs unités d’exécution ainsi qu’une fréquence modeste sont moins susceptibles de générer des goulets d’étranglement.
Pour faire simple, AMD affirme que son API a le potentiel pour améliorer les performances sur les configurations à processeurs multicores dont la fréquence est peu élevée. Lorsque le processeur n’est pas le facteur limitant, Mantle pourrait même parvenir à faire baisser la consommation GPU.
AMD affirme être un fervent défenseur des logiciels libres, qu’en est-il de Mantle ?
Mantle n’est pas un logiciel libre et AMD n’a rien annoncé en ce sens pour l’avenir. En revanche, le géant de Sunnyvale a précisé que le SDK (kit de développement logiciel) serait accessible à n’importe qui d’ici la fin de l’année sans frais de licence ou restriction une fois que le programme de beta fermée aura pris fin.
Cet accès au SDK ne veut pas dire que Mantle deviendra un logiciel libre, mais en théorie, NVIDIA comme Intel pourraient très bien proposer des pilotes compatibles Mantle. Dans la pratique, ceci est hautement improbable mais nous reviendrons sur notre analyse de la situation dans la conclusion. Le fait est qu’AMD veut garder le contrôle de Mantle afin de l’optimiser pour l’architecture GCN et permettre une adoption rapide de nouvelles fonctionnalités hardware par les développeurs, ce qui n’est pas pratique avec des API génériques comme DirectX et OpenGL.
A ce stade, nous voulons mettre Mantle à l’épreuve pour voir ce dont l’API est réellement capable. Tandis qu’AMD promet que les développeurs travaillent à la prise en charge de Mantle pour des titres à venir comme Civilization: Beyond Earth, Star Citizen et Dragon Age: Inquisition, seuls trois jeux géraient Mantle lorsque nous avons préparé cet article : Battlefield 4, Thief et Plants vs. Zombies: Garden Warfare. Etant donné que ce dernier ne propose pas de benchmark pour Mantle et qu’il s’appuie sur le même moteur Frostbite que Battlefield 4, nous nous sommes concentrés sur les deux premiers titres.
Configuration du test
On pourrait croire que le but principal de Mantle est de tirer autant de performances que possible des Radeon, ce qui a une part de vérité, mais il faut garder à l’esprit le fait que Mantle a été conçu pour régler un problème qui n’est pas d’ordre graphique. En effet, l’API d’AMD se destine à optimiser le rendement de la distribution des tâches vers les processeurs.
En conséquence, dans le meilleur des cas, Mantle atténue les goulets d’étranglement générés par les processeurs bon marché (typiquement ceux qu’AMD fabrique et vend). Prenons un exemple : avec DirectX, une Radeon peut afficher de meilleures performances avec un Core i7 haut de gamme par rapport à un FX-4170. Si Mantle tient ses promesses, on devrait voir les performances obtenues avec le FX-4170 s’améliorer pour se rapprocher de celles atteintes avec le Core i7. En revanche, on ne s’attend pas à ce que les performances de la configuration Core i7 augmentent significativement étant donné que ces processeurs sont déjà suffisamment rapides pour masquer la latence des pilotes induite par DirectX.
Afin d’en avoir le cœur net, nous avons utilisé plusieurs configurations et cartes graphiques comme on peut le voir dans le tableau ci-dessous. Toutes les Radeon ont été testées sous DirectX et Mantle afin de mesurer les éventuels écarts. Nous avons également inclus des GeForce à titre de comparaison.
En règle générale, nous avons recours à Fraps ou FCAT pour nos benchmarks graphiques, mais l’un comme l’autre ont été conçus pour être utilisés avec DirectX et ne fonctionnent donc pas avec Mantle. En conséquence, nous avons été contraints d’utiliser les benchmarks intégrés de Thief et Battlefield 4. Fort heureusement, la console de commandes du Frostbite engine utilisé par Battlefield est assez riche, ce qui nous a permis de récolter les données relatives à la variance interimages. S’agissant de Thief, il nous a par contre fallu nous contenter des débits d’image fournis par le benchmark.
Configuration FM2+ | Configuration AM3+ | Configuration LGA 1155 | Configuration LGA 1150 | |||
---|---|---|---|---|---|---|
Carte mère | ASRock FM2A88X-ITX+, Socket FM2+ | Gigabyte GA-990FXA-UDS, Socket AM3+ | Asus P8Z77-V LX, LGA 1155 | ASRock Z87 Pro3, LGA 1150 | ||
Processeur | AMD A10-7850K, Quad core, 3,7 GHz (4 GHz max. avec Turbo Core) | AMD FX-8350, Octa core, 4 GHz (4,2 GHz max. avec Turbo Core) AMD FX-4170, Quad-Core, 4,2 GHz (4,3 GHz max. avec Turbo Core) | Intel Core i3-3220, Dual core, Hyper-Threading, 3,3 GHz | Intel Core i7-4770K, Quad core, Hyper-Threading, 3,5 GHz (3,9 GHz max. avec Turbo Boost) | ||
DRAM | 8 Go Corsair Vengeance LP (2 x 4 Go) 1600 MT/s, CAS 9-9-9-24-1T | |||||
Cartes graphiques | GeForce GTX 650 2 Go GDDR5 GeForce GTX 660 2 Go GDDR5 GeForce GTX 780 Ti 3 Go GDDR5 Radeon R7 250X 1 Go GDDR5 Radeon R9 270 2 Go GDDR5 Radeon R9 270X 4 Go GDDR5 Radeon R9 290X 4 Go GDDR5 | |||||
Stockage | Samsung 840 Pro, 256 Go SSD, SATA 6Gb/s | |||||
Alimentation | XFX PRO850W, 850 Watts, 80 PLUS Bronze | |||||
Logiciels et pilotes | ||||||
OS | Microsoft Windows 8 Pro 64bits | |||||
DirectX | DirectX 11 | |||||
Graphiques | AMD Catalyst 14.3 Beta (Les 14.4 Beta tendent à dégrader les performances) NVIDIA GeForce 337.88 WHQL |
Benchmarks | |
---|---|
Jeux | |
Thief | benchmark intégré |
Battlefield 4 | benchmark THW, 90 secondes |
Thief : APU et cartes graphiques entrée de gamme
Nous commençons par les plus modestes des GPU compatibles Mantle, avec le circuit graphique intégré de l’APU A10-7850K. Comme évoqué sur la page précédente, Thief ne permet pas d’enregistrer la variance interimages : seules les performances moyennes et minimum sont rapportées.
On constate un très léger avantage en faveur de Mantle qu’il convient par ailleurs de relativiser : s’il est appréciable d’approcher les 30 ips de moyenne, ce n’est pas avec un minimum de 20 ips que nous allons considérer Thief comme étant jouable sur l’A10-7850K.
Le fait de passer à des cartes graphiques dédiées nous permet d’augmenter la définition de 720p à 1080p. Voyons donc un éventail de performances autrement plus large :
On constate ici la capacité de Mantle à marginaliser les goulets d’étranglement CPU. Sous DirectX, le Core i7-4770K parvient à environ 42 ips en moyenne alors que le FX-4170 se contente de 34 ips. Cet écart de 8 ips se réduit à 2 ips lorsque le FX-4170 s’appuie sur Mantle.
Thief : cartes graphiques milieu et haut de gamme
Nous avons commencé sur la précédente page avec l’APU A10-7850K, une Radeon R7 250X ainsi qu’un niveau de détails bas. Passons maintenant à une qualité moyenne en 1920×1080 avec une Radeon R9 270 et une GeForce GTX 660.
Une fois encore, Thief semble constituer un exemple idéal pour Mantle. Sous DirectX, la configuration Core i7-4770K atteint 57,7 ips en moyenne contre 46,5 pour celle équipée du FX-8350. Une fois passé à Mantle, le processeur d’AMD atteint une moyenne de 56,4 ips, ce qui lui permet de tutoyer le processeur haut de gamme d’Intel.
Terminons avec le profil élevé, une Radeon R9 290X ainsi qu’une GeForce GTX 780 Ti. Cette fois, les résultats commencent à devenir déroutants : le couple GTX 780 Ti & Core i7-4770K atteint presque 80 ips en moyenne, c’est-à-dire des performances très légèrement supérieures à celles du couple R9 290X & FX-8350 avec Mantle. Cependant, lorsque la même R9 290X est associée au Core i7-4770K avec Mantle, les résultats plongent.
Nous avons bien entendu répété le test à plusieurs reprises sachant que le résultat était constant. Nous n’avons pas d’explication concrète à ce stade, mais il faut rappeler qu’AMD considère que la technologie Mantle en est au stade de la beta. Ceci étant dit, l’API d’AMD permet une fois encore d’atteindre de meilleures performances qu’avec DirectX.
Battlefield 4 : APU
Grâce à son utilitaire permettant d’enregistrer la variance interimages, Battlefield 4 nous permet de détailler les performances en profondeur. Commençons avec le profil Very Low en 1600×900 avec le contrôleur graphique intégré de l’A10-7850K.
Mantle propose un avantage infime, trop faible pour influencer une quelconque décision d’achat. La surprise vient du fait que l’AMD d’APU parvient à afficher au moins 30 ips de manière constante en 1600×900 avec ces réglages.
Globalement très faible, la variance interimages est quant à elle excellente avec Mantle et DirectX sur ce test : il n’y a pas de pics majeurs, ce qui se traduit par un résultat fluide à l’écran.
Battlefield 4 : cartes graphiques entrée de gamme
Avec la Radeon R7 250X et la GeForce GTX 650 comme représentantes des cartes graphiques entrée de gamme, nous passons à des réglages graphiques élevés ainsi qu’une définition de 1920×1080.
Les deux graphiques sont denses, tout particulièrement le second. Cependant, on constate que cette fois, Mantle dégrade les performances au lieu de les améliorer.
Nous avons contacté AMD pour avoir quelques explications au vu de ces résultats, suite à quoi les représentants de la firme texane nous ont fait savoir que Battlefield 4 souffrait d’un problème particulier avec Mantle, lequel se manifeste sur les cartes graphiques ayant moins de 4 Go de mémoire. La Radeon R7 250X se contente d’un Go de mémoire tandis que la GeForce GTX 650 en compte deux, sachant bien entendu que cette dernière n’est pas compatible avec Mantle. Nous reviendrons sur ce problème plus loin ; dans l’immédiat, voyons la variance interimages.
La variance est cette fois à des niveaux acceptables ; aucune carte n’excède les 3 ms au 95ème centile. Bien que l’on constate quelques pics, il n’y a rien d’alarmant.
Battlefield 4 : cartes graphiques milieu de gamme
Avec une Radeon R9 270 et une GeForce GTX 660 toutes deux équipées de 2 Go de mémoire, nous avons l’occasion de vérifier si Mantle rencontre un problème lorsqu’il y a moins de 4 Go de mémoire graphique disponible comme AMD nous l’a affirmé. En parallèle, nous passons à un niveau de détails Ultra pour s’assurer d’augmenter la charge graphique.
Le problème est encore bien présent. Qu’en est-il de la variance ?
La variance demeure faible, bien que les micro saccades soient plus sensibles dès lors que l’on descend en dessous de 25 ips.
Battlefield 4 : cartes graphiques haut de gamme
Terminons les tests graphiques avec une Radeon R9 290X et une GeForce GTX 780 Ti, sachant que la carte d’AMD dispose de 4 Go et devrait donc faire disparaitre le problème de ressources mémoire, tout en permettant un échelonnement positif des performances avec Mantle. Nous conservons le profil Ultra précédemment utilisé avec les cartes milieu de gamme mais avec une définition de 2560×1440.
L’API d’AMD se montre enfin sous un jour plus favorable : la configuration alliant FX-8350 et R9 290X passe de 45 ips en moyenne sous DirectX à 51,4 ips avec Mantle. Par ailleurs, Mantle permet à la R9 290X de se rapprocher de la GTX 780 Ti (sachant que la carte de NVIDIA est autrement plus chère que sa concurrente).
Comme c’était déjà le cas pour nos précédents benchmarks sous Battlefield 4, la variance interimages rapportée par l’utilitaire intégré au jeu est faible, ce qui se traduit par un résultat visuellement fluide.
Battlefield 4 : problèmes de mémoire vidéo et mise à jour des pilotes
Comme évoqué plus tôt, nous avons informé AMD des problèmes rencontrés sur Battlefield 4 avec Mantle. La firme texane nous a répondu que le jeu souffrait actuellement de performances réduites sur les cartes embarquant moins de 4 Go de mémoire. Après avoir vu qu’une R9 290X (4 Go de mémoire) permettait de résoudre le problème, nous avons voulu voir ce qu’il en était avec un GPU plus modeste, à savoir une R9 270X équipée elle aussi de 4 Go de mémoire.
Le problème constaté plus tôt avec la R9 270 (2 Go de mémoire) a disparu, mais contrairement à ce que nous avons pu voir sur la page précédente avec la R9 290X, le fait de passer de DirectX à Mantle n’améliore pas les performances de façon perceptible.
Une fois encore, la variance interimages est exceptionnellement faible dans l’ensemble et les quelques pics ne bouleversent pas ce constat.
A ce stade, il apparait donc que la mémoire des cartes graphiques n’est pas le seul goulet d’étranglement : on constate bel et bien un avantage en faveur de Mantle lorsque l’API d’AMD est associée à des cartes graphiques haut de gamme, munies de 4 Go de mémoire. Ceci étant dit, une Radeon R9 270X ne profite manifestement pas d’une telle quantité de mémoire.
Mise à jour Battlefield 4 du 03/06/14 et Catalyst 14.6 Beta RC2
Cet article s’est avéré être particulièrement intense en benchmarks compte tenu des multiples combinaisons de cartes graphiques, configurations et API. Les premiers tests ont été conduits avec les Catalyst 14.4 Beta qui étaient les plus récents du moment, puis nous sommes revenus aux Catalyst 14.3 Beta vu que les premiers pilotes avaient tendance à plomber les performances dans quelques cas.
Une fois les benchmarks terminés, nous avons passé un temps considérable à faire des recherches supplémentaires. Les échanges avec AMD nous ont poussés à vérifier les problèmes liés à la quantité de mémoire vidéo, nous nous sommes replongés dans les API tandis que notre collègue américain Chris Angelini échangeait avec Richard Huddy, très récemment revenu chez AMD. Pour faire court, il s’est écoulé suffisamment de temps pour que Battlefield 4 soit mis à jour le 3 juin et qu’AMD propose ses Catalyst 14.6 Beta.
Bien entendu, il nous a fallu faire des tests supplémentaires avec ces mises à jour afin de vérifier que nos relevés de performances étaient encore pertinents. A l’issue de ces tests, il s’est avéré que les performances de Battlefield 4 sous Mantle se sont améliorées pour les cartes graphiques ayant moins de 4 Go de mémoire. Tout n’est cependant pas rose : bien que l’écart se soit réduit, l’API d’AMD souffre encore de performances plus faibles et plus irrégulières que celles obtenues avec DirectX 11.
En clair, les Radeon qui ont moins de 4 Go de mémoire accusent encore un déficit de performances dans Battlefield 4 avec Mantle, même si la situation s’est quelque peu améliorée avec les derniers pilotes ainsi que la mise à jour du jeu. L’évolution est donc encourageante puisqu’elle prouve qu’AMD comme DICE travaillent sérieusement sur l’API, mais on voit également qu’un travail considérable est nécessaire. On aimerait que Battlefield 4 soit plus performant avec Mantle et ce quelle que soit la Radeon installée et sa quantité de mémoire embarquée.
Comparaison visuelle et conclusion
Lorsque le patch introduisant Mantle est sorti, nous avons remarqué que l’image affichée était dégradée avec la nouvelle API par rapport à DirectX 11 sur Battlefield 4. Nous avons donc fait quelques captures dans les deux jeux utilisés aujourd’hui pour en avoir le cœur net :
Des différences de saturation et de contraste entre Mantle et DirectX 11 sur Battlefield 4 ont été rapportées à l’époque, mais à ce stade, les disparités ont manifestement disparu. On sait que DICE s’est publiquement attelé à la résolution du bug pour ensuite annoncer sa résolution via un patch. S’agissant de Thief, nous n’avons pas relevé de différences significatives dans la qualité d’image entre Mantle et DirectX.
Quelles sont les conséquences de Mantle sur l’avenir des jeux ?
Nous avons donc testé en profondeur les deux seuls titres compatibles Mantle qui permettent des benchmarks. Thief montre des gains de performances aussi nets qu’impressionnants avec l’API d’AMD, cette dernière réduisant considérablement le goulet d’étranglement généré par les processeurs à petit prix. Il en va de même pour Battlefield 4 à condition d’utiliser une Radeon R9 290X : les cartes entrée et milieu de gamme souffrent de ce qu’AMD décrit comme étant un problème de mémoire insuffisante sous Mantle. Nous avons donc conduit des tests avec une R9 270X 4 Go pour constater que Mantle ne posait plus de problèmes mais n’améliorait pas les performances pour autant. AMD affirmant que son API en est encore au stade de la beta, il faut probablement s’attendre à des anomalies de ce genre au fur et à mesure que nous testons plus de jeux et réglages.
Ceci étant dit, la plupart de nos tests (ainsi que les témoignages de certains développeurs) montrent clairement que Mantle offre au moins quelques avantages par rapport à DirectX 11. Nous n’avons pas de jeux OpenGL pour faire des comparaisons tripartites, mais les deux anciennes API sont censées être limitées par rapport à Mantle. Qu’est-ce que cela signifie pour nous en tant qu’utilisateurs ?
A court et moyen terme, Mantle est susceptible d’offrir des gains de performances pour une poignée de jeux à tous ceux parmi nous qui possèdent une Radeon basée sur l’architecture GCN. Ces gains seront minimes sur les configurations qui embarquent des processeurs performants comme le Core i7-4770K. En revanche, ils seront nettement plus appréciables pour les processeurs entrée de gamme comme les AMD FX-4170, APU A10 ou Athlon X4.
La liste des jeux compatibles avec Mantle va s’enrichir dans les mois à venir mais quand bien même on se fie à ce qu’AMD annonce, on ne peut pas dire que l’offre est dense. Les développeurs qui considèrent DirectX 11 comme trop contraignant pour leur moteur auront peut-être intérêt à s’investir dans Mantle, ce qui passe bien entendu par un surplus de travail ainsi que des ressources supplémentaires. De ce point de vue, on peut faire une analogie entre Mantle et PhysX : ces deux technologies sont spécifiques à l’un ou l’autre des deux fabricants et ne concernent qu’assez peu de jeux.
Allons plus loin : une fois qu’AMD aura publié son SDK Mantle, il est théoriquement possible qu’Intel et NVIDIA développent des pilotes compatibles avec cette API, ce qui inciterait probablement plus les éditeurs de logiciels indépendants à se lancer dans l’aventure. Cependant, cette situation est hautement improbable : on imagine mal Intel et NVIDIA rouler pour leur concurrent. Intel aurait demandé accès au SDK Mantle, mais le géant de Santa Clara cherchait probablement à exécuter des tests en interne plus qu’autre chose.
Ceci nous mène à une vision long terme, point sur lequel AMD doit se concentrer en ce moment. Mantle aura-t-il encore une place lorsque DirectX 12 débarquera avec sa propre approche sur le minimalisme, ainsi qu’une capacité à envoyer une multitude de commandes de rendu en parallèle pour répartir la charge sur plusieurs cores CPU ? Il semble clair qu’Intel comme NVIDIA utiliseront l’API de Microsoft. Si Mantle est vraiment compatible avec DirectX 12, on peut supposer que les développeurs soient prêts à prendre le temps de gérer la prise en charge de l’API AMD. Mais le géant de Sunnyvale finira inévitablement par assurer la compatibilité DirectX 12, ce qui pourrait donc rendre le travail des développeurs redondant. Une fois que la prochaine mouture de DirectX sera diffusée, le principal atout de Mantle sera sa capacité à proposer de nouvelles fonctionnalités exclusives aux Radeon pour les développeurs qui veulent y accéder, de la même manière que le Glide de 3dfx en son temps.
Et sur consoles ?
La discussion porte essentiellement sur les PC, n’oublions pas que les consoles rentrent également en ligne de compte. Si Microsoft et Sony adoptent Mantle sur leurs produits basés sur des cores x86 Jaguar assez modestes, l’API d’AMD bénéficierait alors presque automatiquement d’une adoption accélérée auprès des développeurs. Une bonne partie de la ludothèque PC est portée (ou développée en même temps) depuis des versions consoles. Microsoft a bien entendu intérêt à attendre que DirectX 12 soit prêt, tandis que la PlayStation 4 a sa propre API qui est plus perfectionnée que DirectX 11 et OpenGL. A en croire Johan Andersson, programmeur en chef chez DICE, « l’API graphique de la PS4 est tout aussi défendable ; nous n’avons pas besoin de Mantle sur PS4 ».
Le facteur X tient finalement à la Steambox de Valve. Si AMD ne propose pas la compatibilité Mantle dans ses pilotes Linux actuels, la firme texane a laissé penser que la situation pourrait changer à terme. En imaginant que Valve parvienne à rendre son concept attirant (dans l’immédiat, ce n’est pas le cas à nos yeux), il pourrait y avoir une demande pour Mantle. Cependant, SteamOS a encore un long chemin à parcourir avant de pouvoir réellement peser dans l’avenir de Mantle.
Ceci étant dit, Mantle est un véritable exemple d’innovation. Quand bien même l’API d’AMD finirait éclipsée par DirectX 12, tout porte à croire que c’est bel et bien Mantle qui a poussé Microsoft à travailler sur une nouvelle version de son API graphique. Il est indéniable qu’un besoin ou une volonté d’éradiquer les latences qui affectent l’expérience de jeu étaient bien là. Peu importe qu’AMD ait poussé à l’action ou que le développement des API se soit fait en parallèle, c’est bien la firme texane qui a communiqué en premier sur le sujet. Dans l’immédiat et d’ici à ce qu’AMD propose une ouverture plus large sur l’industrie, nous considérons Mantle comme une fonctionnalité à valeur ajoutée comme PhysX.