Le 2 février dernier, AMD rendait disponibles ses pilotes Catalyst 14.1 bêta, qui activait la gestion de la nouvelle API développée par l'ex-fondeur, la dénommée Mantle. Le jeu Battlefield 4 est le premier à bénéficier de cette innovation. Qu'apporte Mantle dans le jeu du studio Dice ? La réponse dans ce dossier.
La course que se livrent les constructeurs ne se joue plus uniquement sur les performances brutes des composants. NVIDIA l'a compris depuis longtemps avec ses technologies maison (3D Vision, 3DTV Play, GeForce Experience...). Si AMD a préféré jouer le jeu du bundle, l'ex-fondeur cherche aujourd'hui à ajouter une nouvelle corde à son arc avec Mantle, une interface de programmation pour le moins innovante.
L'un des buts de cette API : offrir aux APU AMD un petit coup de fouet qui permettrait d'accroître les performances en jeu. Mantle a été développée par AMD, qui a travaillé main dans la main avec le studio Dice, à l'origine de Battlefield 4. Sans surprise, c'est donc ce jeu qui bénéficie le premier de la technologie d'AMD.
Le but de ce dossier : savoir si Mantle apporte un réel gain de performances, et dans quelles conditions. À vos calculettes, on va compter les fps !
Mantle, une idée de développeur
Le constat d'AMD concernant le jeu sur PC est le suivant : les interfaces de programmation utilisées par les éditeurs que sont Direct3D et OpenGL ont un fonctionnement trop lourd et trop coûteux en ressources, surtout au niveau des commandes de rendu.
Ces API doivent notamment assumer une rétrocompatibilité qui leur est préjudiciable, puisqu'elle impose un contrôle de cohérence entre les commandes passées ainsi que de nombreuses contraintes, pour certaines, complètement obsolètes. L'ex-fondeur pointe également du doigt la faible exploitation des possibilités de threading du processeur, la gestion limitée de la mémoire ou l'absence de contrôle direct du GPU. Mantle a pour but de pallier toutes ces lacunes.
Ce constat, ce n'est pas seulement celui d'AMD. C'est aussi et surtout celui de Johan Andersson, développeur principal du Frosbite Engine, le moteur graphique de Battlefield 4, notamment. AMD a donc décidé de concevoir sa propre interface de programmation, à savoir Mantle, une API de plus bas niveau que ne le sont Direct3D et OpenGL. Et le constructeur d'insister sur le fait que son API n'est pas là pour contraindre les développeurs, mais bel et bien pour leur donner un outil plus simple et surtout aux possibilités étendues.
Un petit plus pour les APU de la marque
Plus simple, car Mantle ne travaille que sur des zones mémoire et des zones de rendu quand DirectX joue avec de (trop) nombreux buffers qui sont chacun régis par des règles très spécifiques. L'API d'AMD permet aussi de réutiliser simplement le résultat de certaines opérations, sans devoir les répéter comme c'est parfois le cas sous DirectX. Les phases de compilation sont également moins nombreuses, réduisant ainsi le coût CPU.
Aux possibilités étendues, car Mantle est censé offrir plus de libertés aux développeurs. L'API d'AMD transfère en effet une partie des responsabilités incombant normalement au traditionnel pilote vers le moteur du jeu. Un choix qui n'est pas sans risque pour ce dernier, qui se doit d'être particulièrement fiable.
Avec Mantle, AMD a pour donc pour but avoué de réduire fortement la charge CPU en jeu. De quoi débrider les configurations déséquilibrées sur lesquelles le GPU est limité par le CPU. Un moyen de remettre à niveau ses APU, à la peine face à l'offre Intel ?
Côté GPU, Mantle utilise l'architecture GCN (Graphics Core Next). En théorie, les Radeon R7/R9, les Radeon HD 7000/8000 et les dernières APU A10/A8 de la série 7000 peuvent donc profiter de l'API. Dans les faits, seules les puces graphiques basées sur GCN 1.1 tirent pour l'instant parti de Mantle. Actuellement donc, cela concerne surtout les Radeon HD 7790, 260X, 290/290X et les APU de la nouvelle gamme Kaveri.
Notez enfin que le CrossFire n'est pour l'instant pas pris en charge, pas plus que les technologies PowerXpress et Enduro.
Protocole de test
Bien qu'une quinzaine de jeux actuellement en développement (et dotés du moteur Frosbite 3 de Dice) utiliseront Mantle, Battlefield 4 est pour le moment le seul jeu à profiter de l'API d'AMD, grâce au récent patch publié par EA. Nous avons donc effectué tous nos tests sur ce titre.
Pour évaluer les gains apportés par Mantle, nous avons utilisé un GPU capable d'en tirer pleinement parti, à savoir la R9 290X. Nous avons associé cette carte graphique à 8 Go de mémoire vive de type DDR3-1600, et réalisé tous nos tests sous Windows 8.1 64 bits et avec les derniers pilotes Catalyst, à savoir le 14.1 dans sa version bêta 6.
Nous avons effectué nos mesures sur 5 configurations différentes : trois utilisant des processeurs Intel de génération Haswell (Core i3-4330, Core i5-4430 et Core i7-4770K), une basée sur un processeur AMD (le FX 8350) et une dernière fonctionnant grâce à l'un des derniers APU Kaveri de la marque, le A10-7850K.
Ces tests ont été menés sur deux maps différentes : l'une sur la mission Baku (un grand espace ouvert avec de nombreux oiseaux dans le ciel, scène complexe pour le processeur), l'autre durant le siège de Shanghaï (sur le toit de l'hôtel, après le départ de l'hélicoptère).
Mantle oblige, il nous fut impossible de nous servir du traditionnel Fraps pour faire nos mesures, ce dernier utilisant DirectX. Heureusement, le nouveau patch de Battlefield apporte une série de commandes qui nous a permis d'enregistrer les frame time que nous avons ensuite traduits en fps avant d'en faire une moyenne sur 30 secondes, et ce pour les 80 tests effectués (deux définitions et deux niveaux de détails pour Mantle et DirectX, sur deux scènes et sur chacun des 5 processeurs).
Sachez enfin que nous n'avons pas utilisé ici de cartes graphiques NVIDIA, le but de ce dossier étant de s'intéresser au gain de performances apporté par Mantle sur les cartes AMD.
Carte graphique : découvrez des offres à bas prix sur notre comparateur de prix !
Place aux tests !
1080p, réglages sur « Elevé »
C'est dans cette qualité d'image (la moins importante de nos tests) que le rôle du processeur dans les performances est important. Mantle ayant pour vocation à réduire la charge CPU, c'est naturellement dans cette configuration que l'apport de l'API d'AMD se fait le mieux ressentir. Toutefois, toutes nos puces ne profitent pas de la même façon de Mantle.
En effet, la configuration basée sur l'APU Kaveri (le A10-7850K) voit ses performances croître de près de 67% sur notre première scène de test (qui sollicite beaucoup le processeur), tandis que celles du FX 8350 bondissent de près de 78%. Le Core i3-4330 d'Intel profite également de l'API d'AMD : près de 40% de gain sur la scène n°1 avec 110 fps. Ces deux dernières puces, aidées par Mantle, parviennent à se hisser au niveau de notre Core i7. Ce n'est toutefois pas le cas de l'A10-7850K.
Les performances des processeurs plus véloces que sont les Core i5-4430 et Core i7-4770K sont nettement moins influencées par Mantle, qui apporte 18,5% et 4,7% de performances supplémentaires sur cette scène très favorable à l'API d'AMD.
Sur notre seconde scène, le rôle du processeur est moindre : conséquence, le gain apporté par Mantle fond comme neige au soleil. 8,5% pour les Core i3, Core i7 et FX 8350, un peu plus de 5% pour le Core i5, et tout de même 22% pour l'APU Kaveri. Ce qui n'empêche pas ce dernier d'afficher les performances les plus faibles de nos 5 puces.
1080p, réglages sur « Ultra »
Lorsqu'on élève le niveau de détails, les résultats sur la première scène sont identiques à ceux présentés précédemment, mais l'échelle est tout autre : on gagne près de 28% sur le FX 8350, mais seulement de 8 à 15% sur les Core d'Intel. Le A10-7850K fait figure d'exception, puisque ses performances continuent de bien profiter de Mantle (+60%). Du coup, les deux puces AMD affichent, sur ce test, les meilleures performances.
La scène 2 ramène cependant les efforts d'AMD à des pourcentages bien plus faibles : même l'APU Kaveri ne prend « que » 9% avec Mantle, les autres processeurs gagnant entre 5 et 7%. Et les processeurs Intel reprennent le dessus.
1600p, réglages sur « Elevé »
Retour à un niveau de détails élevé, mais sur une définition plus importante (2 560 x 1 600 pixels). Les trois processeurs les moins véloces continuent de profiter de Mantle sur la scène 1 (+51% pour le A10-7850K, +23% pour le FX-8350, +16% pour le Core i3-4330) au point de proposer les meilleures performances. Le Core i5-4430 ne gagne plus que 3%, alors que pour la première fois, on observe un cas où DirectX est plus performant que Mantle (avec le Core i7).
Sur la seconde scène, moins favorable à Mantle, les gains s'étalent entre 3% (pour le Core i5) et près de 10% (pour le A10-7850K). Notez que les écarts entre les différentes puces sont faibles sous Mantle comme ils le sont sous DirectX : l'API d'AMD ne fait plus la différence quand c'est le GPU qui « travaille » le plus.
1600p, réglages sur « Ultra »
Lorsque la définition et le niveau de détails deviennent très importants, seuls les Core i3 et A10-7850K tirent profit de Mantle, avec des gains respectifs de 17,6 et 18,6%, passant ainsi devant les autres puces, pourtant plus véloces. Du moins sur la scène n°1. Le FX 8350 ne gagne que 5%, le Core i5 que 1,4%, tandis que le Core i7 perd encore une fois au change et se montre plus à l'aise sous DirectX.
Sur la scène 2, les gains ne dépassent cette fois pas les 6%, et c'est le Core i5 qui pâtit le plus de son association avec Mantle. Comme c'était le cas plus haut, les réglages sur « Ultra » nivellent les performances avec des écarts très faibles entre nos 5 protagonistes.
Si l'on fait une moyenne des gains sur les deux scènes de test, voici comment se répercute l'activation de Mantle sous Battefield 4, en fonction de la qualité de l'image (définition et niveau de détails) :
Ce graphique montre bien que plus la qualité de l'image (définition et niveau de détails) croît, moins les gains apportés par Mantle sont importants. De même, plus le processeur est véloce, moins l'API d'AMD a d'influence sur ses performances.
Quid de la qualité de l'image ?
Ce n'est pas tout de mesurer les performances de Mantle par rapport à celles de DirectX. La qualité de l'image intéresse également le joueur, notamment celui qui pousse les détails et la définition à des niveaux élevés. En jeu, nous n'avons pas constaté de réelles différences sur les scènes « en intérieur » (couloir, hôtel, navire...). En revanche, dès que nous avons eu affaire avec des scènes en extérieur, le constat fut tout autre. Nous avons réalisé trois captures d'écran pour chacune des API (nous affichons le résultat sous Mantle, puis DirectX).Sur la première capture d'écran, l'image est comme surexposée avec Mantle, ce qui a pour effet d'amoindrir la qualité de certains détails : les oiseaux, la fumée du bateau au second plan, mais surtout les nuages dans le ciel.
Sur la deuxième scène (avec vue sur la tour de Shanghaï), on perd également en contraste avec Mantle. Résultat, les halos lumineux autour des angles de l'immeuble au premier plan disparaissent, et alors que les gouttes d'eau sont visibles avec DirectX, elles le deviennent nettement moins sous Mantle.
Sur la dernière capture, la différence est encore plus saisissante : là où la pluie est clairement identifiable avec DirectX 11, elle l'est beaucoup moins avec Mantle. L'image semble délavée, le ciel moins profond et certains détails en pâtissent encore (regardez la couleur des lumières sur les pylônes en arrière-plan).
Conclusion : que vaut Mantle ?
Sur notre première scène, dans laquelle les processeurs sont particulièrement sollicités, Mantle apporte un gain de performances non négligeable. Au point même de permettre à des processeurs modestes comme le Core i3-4330 et l'APU A10-7850K de rattraper leur retard sur des puces plus puissantes. À ce titre, l'objectif fixé par AMD de rééquiliber certaines configurations est bel et bien atteint.
Mais dès que le processeur n'est pas un facteur limitant (c'est le cas d'un Core i7-4770K, notamment) ou que son rôle passe au second plan (sur notre seconde scène), l'apport de Mantle est moindre, voire nul. Notamment lorsque le niveau de détails et la définition grimpent. Mais là n'était pas son but et Mantle trouve tout son intérêt sur les processeurs les moins véloces et sur des scènes où ces derniers brident les performances. En cela, AMD a clairement gagné son pari.
Cependant, impossible d'éluder la qualité d'image générée par l'API d'AMD par rapport à celle produite par DirectX. Nos différents tests ont en effet montré une gestion de la lumière nettement moins bonne que ne le fait DirectX 11. De plus, il convient de préciser que durant nos tests, nous avons subi de nombreux gels d'écrans, dont on ne sait s'ils sont à mettre à l'actif du jeu en lui-même ou de pilotes encore jeunes.
Finalement, si Mantle semble être une très belle idée technique, son avenir reste suspendu à son adoption par les studios de développement. Ces derniers accueilleront-ils une initiative qui vient de l'un des leurs avec l'attention qu'elle mérite ? De leur point de vue, il serait sans doute plus intéressant de profiter de cette technologie sur l'ensemble des GPU du marché, et pas seulement sur quelques Radeon. Mantle n'est pas une API propriétaire, et Intel et NVIDIA sont libres de l'utiliser. Mais ils ne le feront sans doute pas, ce qui cantonne Mantle aux seules puces AMD. Suffisant pour les studios ? Nous verrons si Mantle suit les traces de PhysX ou si elle connaîtra un meilleur sort.
Carte graphique : découvrez des offres à bas prix sur notre comparateur de prix !
Télécharger DirectX pour Windows.