Les derniers contenus liés aux tags AMD et Mantle

Afficher sous forme de : Titre | Flux

Un patch Vulkan pour Doom

Publié le 11/07/2016 à 17:50 par Guillaume Louel

Bethesda vient d'annoncer  l'arrivée d'un patch pour Doom qui apporte le support de Vulkan. Pour rappel, Vulkan est la nouvelle API graphique proposée par Khronos Group, en charge de l'OpenGL. Nous avions eu l'occasion de vous présenter en détail Vulkan dans cette actualité lors de la sortie de la version 1.0 en février dernier. Il s'agit pour rappel d'une API graphique de bas niveau, dérivée de Mantle d'AMD, et qui permet de réduire la dépendance du GPU envers le CPU et d'améliorer les performances, notamment via le multi-threading.

Bethesda indique avoir travaillé avec à la fois AMD et Nvidia depuis mars pour optimiser le support chez les deux constructeurs. Même si l'importance du driver dans les nouvelles API que sont Vulkan et DirectX 12 est réduit, cela reste important étant donné que Doom est le premier gros titre à utiliser cet API.

Pour en profiter il faudra disposer au minimum des pilotes 368.69 chez Nvidia et 16.7.2 Hotfix chez AMD .

La FAQ de Bethesda donne quelques détails supplémentaires, il faudra s'attendre à quelques bugs, notamment avec l'overlay Steam ou lors des changements de résolution. Bethesda indique que seuls les pilotes AMD supportent actuellement l'async compute mais qu'ils travaillent avec Nvidia pour apporter une solution (nous vous renvoyons à notre couverture de la GDC pour plus de détails). Le patch est disponible via Steam.

Mantle : guide de programmation disponible

Tags : AMD; Mantle;
Publié le 19/03/2015 à 05:05 par Damien Triolet

AMD vient de rendre disponible, comme promis, le guide de programmation de son API propriétaire Mantle. Ce guide est avant tout fourni à titre d'information puisqu'AMD conseille dorénavant aux développeurs de s'orienter vers les autres API de bas niveau, telles que Direct3D 12 ou Vulkan, face auxquelles sa propre API n'a plus réellement d'utilité.


Mantle est cependant totalement fonctionnel pour les développeurs qui seraient intéressés, et ce guide de programmation sera l'occasion d'en apprendre en peu plus sur le fonctionnement des GPU modernes ou de se faire la main sur les API graphiques de plus bas niveau, en attendant que Direct3D 12 et Vulkan, similaires, soient disponibles. A la lecture rapide de ce document on réalise d'ailleurs, si cela était encore nécessaire, à quel point Mantle les a influencées.

Parmi les petits détails, nous avons noté qu'AMD n'a pas implémenté toutes les fonctionnalités des GPU dans Mantle, soit parce qu'elles sont trop complexes avec un intérêt limité, soit parce qu'elles peuvent être remplacées par d'autres techniques. C'est par exemple le cas du Stream-Out, qui avait été introduit par DirectX 10 avec les Geometry Shaders, ou encore du Line AA, forme d'antialiasing utilisée par certaines applications professionnelles.

AMD explique également avoir intégré un paramètre qui permet de demander aux pilotes d'essayer, sans garantie, d'uniformiser la qualité du rendu quand deux GPU différents sont utilisés. L'utilisation principale qui est visée est ici un APU avec un GPU d'entrée de gamme, dont la qualité du filtrage des textures peut varier par défaut.

Pour ceux que ça intéresse, le guide est téléchargeable par ici .

GDC: Quelle API de bas niveau va s'imposer ?

Publié le 16/03/2015 à 07:00 par Damien Triolet

Au cours de la semaine de la GDC, nous avons demandé à la plupart de nos interlocuteurs quel était leur pronostic officiel dans la bataille qui s'annonce entre les différentes API de bas niveau. Vulkan va-t-il avoir une chance sous Windows ? La réponse a été quasi unanime : non. Explications.

Avec Mantle, AMD et Frostbite ont démontré qu'exploiter des API graphiques de plus bas niveau dans les moteurs de jeu PC était tout à fait réaliste et n'avait pas de raison d'être une exclusivité des consoles. Depuis, la liste de ces API s'est allongée :

- Mantle supporté par les Radeon sous Windows 7/8/10
- Direct3D 12 supporté par tous les GPU sous Windows 10 et par la Xbox One
- Metal supporté par les SoC Apple sous iOS
- Vulkan supporté par tout type de GPU sous tout type de plateforme
- et nous pouvons y ajouter GNM, l'API de la PS4

Sur le papier, Vulkan a un avantage important puisqu'il va permettre à un moteur graphique de supporter de nombreuses plateformes et notamment Android et Linux/SteamOS. Pourquoi ne pas supporter Windows au passage ? Si les spécialistes du moteur de jeu prévoiront probablement cette possibilité, personne ne s'attend à ce qu'elle soit exploitée.

Microsoft ne compte pas proposer de support de Vulkan pour la Xbox One, ce qui va forcer les développeurs à exploiter Direct3D 12. Vu la proximité avec la plateforme Windows, il n'y aura pas d'intérêt à y proposer Vulkan sur PC.

Mais ce n'est pas tout. Vulkan pourrait avoir des difficultés sur d'autres fronts. Alors que nous l'imaginions en bonne position sous Android, la plupart de nos interlocuteurs ont émis un avis plus mitigé. A la question de savoir pourquoi, nous avons en général reçu un sourire gêné en guise de réponse car une autre API est embusquée. C'est un secret de polichinelle dans le milieu des spécialistes de la 3D : Google prépare sa propre API graphique de bas niveau. Une annonce qui pourrait avoir lieu fin mai lors de la conférence Google I/O ou un peu plus tard cette année.

Cette API devrait être ouverte dans le sens où ses spécifications seront fixées par Google, mais son implémentation pourra se faire sur d'autres plateformes. De quoi venir concurrencer directement Vulkan, par exemple si elle était portée sous Linux et SteamOS.

Cela ne veut pas dire pour autant que Vulkan est mort-née. Il y aura vraisemblablement toujours des développeurs qui voudront profiter de son support multiplateformes, surtout dans le monde mobile. Mais à terme, il semble évident que chaque plateforme voudra contrôler sa propre API graphique de bas niveau, ce qui est naturel pour les acteurs concernés. Les spécialistes des moteurs graphiques, tels que l'Unreal Engine, l'Unity, le Cry Engine ou encore le Frostbite, y trouveront probablement leur compte, mais le développement de moteurs "indépendants" risque de devenir difficile à supporter pour de plus en plus de studios.

GDC: Mantle a rempli son rôle et est réorienté par AMD

Publié le 04/03/2015 à 10:30 par Damien Triolet

Avec Mantle, AMD entendait faire bouger les lignes et démontrer qu'une API de plus bas niveau était quelque chose de réaliste, de réellement exploitable et non une source de complications insensée pour les jeux AAA. Il ne fait aucun doute que cet objectif a été atteint. Face à l'engouement des développeurs, Microsoft a rapidement annoncé prendre une voie similaire avec Direct3D 12 et le groupe Khronos a fait de même. Du coup, quel est l'avenir pour Mantle ?


Lors de l'annonce de Mantle, AMD avait indiqué avoir pour objectif, à termes, d'ouvrir son API à d'autres acteurs, si ceux-ci étaient intéressés. Toutes les options étaient alors sur la table, mais AMD avait bien insisté dès le départ sur le fait que son intention était d'apporter une solution à un problème et non de tenter de forcer l'utilisation d'une API propriétaire pour en obtenir un avantage stratégique.

Un premier billet  publié sur le blog d'AMD il y a quelques jours a pu laisser penser que Mantle était abandonné au profit de DirectX 12. AMD y expliquait en effet l'arrivée sous peu d'un guide de programmation de 450 pages pour Mantle, mais l'abandon du projet de rendre public le SDK complet. Mantle reste totalement supporté par AMD pour les développeurs qui l'utilisent déjà, mais AMD réoriente les autres vers les API telles que Direct3D 12 et ce qui était alors connu sous le nom de GLnext. L'API Vulkan n'ayant pas encore été annoncée, AMD n'était pas très clair dans sa communication.

Un second billet  publié après l'annonce de Vulkan a clarifié quelque peu la situation. De notre côté, à la GDC, nous avons pu aborder la question avec AMD et plus particulièrement avec Raja Koduri, Corporate Vice President Visual Computing, et Richard Huddy, Chief Gaming Scientist. Grossièrement, pour AMD, Vulkan est ce qu'aurait été un éventuel "open Mantle", et ce dernier n'a du coup plus aucune raison d'être.

AMD a offert Mantle comme base de travail au groupe Khronos, ce qui lui a permis d'avancer plus vite qu'à l'accoutumée. Il n'y avait bien entendu pas de raisons de réinventer la roue et de nombreux aspects de Vulkan sont très proches, voire identiques, à Mantle. Selon AMD, les modifications les plus importantes qui ont été apportées sont liées aux spécificités des GPU de type TBDR (PowerVR etc.). Nvidia, qui semble plutôt de mauvaise foi sur ce coup, voit les choses sous un autre angle et tente de rabaisser Mantle autant que possible, en ironisant sur l'inévitabilité de sa disparition. Pas simple d'admettre l'influence du travail de son concurrent.

Si Mantle 1.0 n'a plus réellement de raison d'être, excepté pour les jeux déjà en développement et qui vont arriver sous peu, le concept de Mantle est loin d'être mort. AMD explique ainsi qu'il y a d'autres demandes des développeurs au niveau de l'évolution des API et que ses équipes sont prêtes à essayer d'y apporter des réponses. Il ne faut pas insister beaucoup pour que Mantle 2.0 soit prononcé, et bien que nous n'avons pas pu savoir ce qu'AMD avait en tête, il nous a semblé évident que quelque chose est déjà en préparation. AMD s'est contenté de nous dire que sa stratégie reste d'expérimenter en vue d'apporter une solution concrète à un problème donné avec pour objectif d'ouvrir à tous le résultat de ce travail, pour peut-être influencer à nouveau la formation des futures API.

DirectX 12 : Benchmarks et exclusivité Windows 10

Publié le 07/02/2015 à 00:00 par Marc Prieur

AnandTech a publié un article  consacré à DirectX 12 se concentrant principalement sur des benchmarks obtenus sous Windows 10 Technical Preview 2 sous une version Direct3D 12 de Star Swarm Stress Test fournie par Oxide et Microsoft. Ce nom ne devrait pas vous être inconnu puisque cette démo dispose d'une version Mantle utilisée par AMD pour démontrer les bienfaits de son API à son lancement, mais elle a aussi déjà été utilisée en août dernier en version DX12 par Intel et Microsoft pour montrer les avantages du futur Direct3D.


Avant de passer aux résultats, nos confrères ont eu la confirmation par Microsoft que DirectX 12 ne sera disponible que sous Windows 10. Sachant que la mise à jour sera gratuite si effectuée durant la première année du lancement, cette annonce n'est pas problématique. Pour supporter DirectX 12, Windows 10 intègre la version 2 du WDDM. Côté GPU AMD et Nvidia disposent bien sûr de pilotes beta WDDM 2.0 et DX12, ce sont les versions 394.56 et 15.200 qui ont été fournies à nos confrères. A l'heure actuelle les pilotes AMD supportent les GPU GCN 1.0, 1.1 et 1.2, mais pour le moment Star Swarm Stress affiche des bugs de texture sur GCN 1.0. Côté Nvidia le support des Kepler et Maxwell est fonctionnel, mais les Fermi ne sont pas encore gérés.

Côté benchmark c'est donc sans grande surprise que les résultats obtenus sont très bons dans ce test très lourd en termes de draw calls. Ainsi une GeForce GTX 980 passe de 26,7 fps en D3D11 à 66,8 fps en D3D12, alors qu'une Radeon R9 290X est à 8,3 fps en D3D11, 42,9 fps en D3D12 et 45,6 fps sous Mantle. On note ici un avantage à Mantle sur ce test effectué avec 4 cœurs et confirmé avec 6 cœurs, mais avec 2 cœurs seulement c'est D3D12 qui reprend l'avantage avec 42,9 fps au lieu de 37,6 fps. Ces écarts sont en partie liés à un temps de traitement des lots de commande plus important sous Mantle du fait d'une optimisation du moteur effectuant une seconde passe côté CPU pour les optimiser, ce qui permet d'alléger la charge GPU au dépend de la charge CPU. Une fois celle-ci désactivée le temps de traitement des lots de commande est équivalent entre les deux API, par contre D3D12 repasse devant puisque sur 4 coeurs Mantle passe à 39,3 fps.

Pour rappel, pour contrer l'offensive Mantle, Nvidia a optimisé tant que possible les performances des commandes D3D11 via des optimisations génériques mais aussi spécifiques à certaines applications dont Star Warm. C'est ce qui explique que la version D3D11 soit 3,2 fois plus rapide sur GTX 980 que sur R9 290X, alors qu'AMD a orienté ses ressources sur Mantle qui reste 71% plus rapide. En Direct3D 12, l'avantage du dernier GPU Nvidia est probablement lié à des performances supérieures dans le traitement de la géométrie et/ou des commandes dans ce cas extrême.


DirectX 12 est donc toujours sur la bonne voie pour tenir les promesses d'une API bas niveau en termes d'allègement et de meilleure répartition entre les cœurs CPU de la charge liée aux commandes de rendu. Des bons résultats qui ont déjà été démontrés par AMD avec l'API Mantle qui a heureusement enfin fait bouger les lignes. Microsoft a encore beaucoup de choses à dévoiler sur DirectX 12, ce qui devrait se faire à l'occasion de la GDC 2015 en mars – on pense notamment au nouveau niveau de fonctionnalité 11_3 ou 12_0. Reste qu'au-delà de l'API et des démos technologiques, il faudra bien sûr voir ce que les développeurs de jeux en feront !

Top articles