Les derniers contenus liés aux tags Nvidia et Microsoft

Pilotes Radeon et GeForce pour Far Cry 5

Publié le 27/03/2018 à 16:49 par Guillaume Louel

A l'occasion du lancement de Far Cry 5, AMD et Nvidia proposent coup sur coup de nouveaux pilotes optimisés pour ce titre. Chez AMD tout d'abord, outre le support optimisé de ce titre (AMD note malgré tout que ces pilotes peuvent causer des clignotements dans ce jeu en multi GPU après avoir utilisé Alt+TAB), on retrouve également quelques correctifs.

Pour Final Fantasy XV, certains effets de lumières sur les arbres à certains endroits de la carte ont été corrigés, tout comme un bug qui pouvait causer un crash à l'arrivée du second chapitre. Dans la liste des "problèmes corrigés", le constructeur parle aussi d'une baisse de performances sur certaines charges "blockchain" comparé aux pilotes précédents, ce qui nous rend assez circonspects, on ne sait pas si la chose est corrigée ou si c'est ce pilote qui est plus lent. On notera également dans les problèmes connus que ces pilotes peuvent causer un crash système après une utilisation prolongée et simultanée de 12 GPU (!) pour des tâches compute. Ces pilotes 18.3.4 sont téléchargeables sur le site du constructeur .

Chez Nvidia, il s'agit des pilotes 391.35 qui apportent un support pour ce titre. Quelques bugs ont été corrigés, un problème d'Alt-TAB sous Diablo III en SLI avec V-Sync actif qui pouvait planter le jeu, et une fuite mémoire de GeForce Experience lorsque l'on utilise la fonction "freestyle". Plus important, le pilote apporte des correctifs de sécurité pour ses pilotes. 7 CVE sont pointés par Nvidia, plusieurs s'attaquant au pilote "noyau" (nvlddmkm.sys) avec des risques importants d'escalade de privilèges.

Contrairement aux autres périphériques sous Windows dont les pilotes fonctionnent dans l'espace mémoire utilisateur (une restriction imposée par Microsoft pour réduire les plantages), les GPU disposent encore d'un petit pilote niveau "noyau", ce qui permet théoriquement aux pilotes GPU de planter complètement votre système (ou d'être un vecteur de failles) contrairement à un pilote USB par exemple, quelque chose dont Microsoft se plaint souvent même s'ils sont responsables de cette situation !

Certaines failles concernent également le pilote en espace mémoire "utilisateur". Nous ne pouvons que vous conseiller de mettre à jour vos pilotes qui sont téléchargeables ici pour Windows 7 , et là pour Windows 10 .

Microsoft annonce DirectX Raytracing

Publié le 20/03/2018 à 15:16 par Guillaume Louel

Microsoft a profité de l'ouverture de la GDC pour annoncer une nouvelle API, DirectX Raytracing (DXR) . Comme son nom l'indique, il s'agit d'une nouvelle API qui vient s'ajouter aux autres API DirectX pour standardiser l'utilisation de certaines techniques dites de raytracing. Le raytracing tente pour rappel de représenter de manière plus exacte le parcours de la lumière pour proposer des rendus réalistes. L'inconvénient de la technique étant son coût généralement prohibitif, même si des approximations existent.

A l'inverse, le rendu 3D dans les jeux actuel est basé sur la rasterisation, la projection d'une scène 3D en 2D avant d'y appliquer les traitements pour obtenir la couleur des pixels, avec des techniques plus ou moins avancées de gestion de lumière (les premiers jeux 3D se contentant d'imiter les effets de lumière en les dessinant directement dans les textures, tandis qu'aujourd'hui les pixel shaders s'appliquent sur l'image 2D ce qui limite les possibilités même si les développeurs sont extrêmement créatifs). Comme le rappelle le sous titre de l'annonce de Microsoft, "3D Graphics is a lie" (le rendu 3D est un mensonge) !

Avec DXR, Microsoft souhaite donc ajouter un peu de "réalisme" avec une petite dose de raytracing. Dans le détail, il s'agit d'une API complémentaire qui ajoute de nouvelles possibilités pour utiliser le raytracing par dessus les pipelines actuels de rasterisation. En pratique, DXR s'appuie sur une représentation de la géométrie pour lancer des rayons. Par dessus cette représentation, chaque objet ou groupe d'objet pourra définir des "raytracing shaders" et des textures spécifiques à utiliser. Une fois ceci crée, le lancé de rayons est appliqué, l'API définie les cas d'intersection, de non intersection, et de "presque" intersection (near miss), en gérant les cas ou les rayons rebondissent sur plusieurs surfaces (multi bounce).

Techniquement, le lancer de rayon est effectué a partir de la "caméra" dans la variante utilisée par DirectX, et peut se faire pour une sélection de pixels de l'écran ou la totalité (Microsoft prend l'exemple de ne le faire uniquement que pour les objets dont la surface est réfléchissante).


Un exemple de rendu DXR avec le moteur SEED d'EA, Project PICA

D'un point de vue compatibilité avec le matériel existant, Microsoft renvoi simplement vers les constructeurs pour les détails. Certains matériels sur le marché disposeraient déjà d'un support de DXR (on ne sait pas lesquels), et Microsoft semble proposer un mode de rendu alternatif s'appuyant sur Direct Compute pour fonctionner sur tout le matériel existant aujourd'hui (avec un niveau de performances on l'imagine réduit).

AMD nous a indiqué qu'ils collaboraient "étroitement" avec Microsoft "pour les aider à définir, améliorer et prendre en charge l'avenir de DirectX 12 et du ray tracing", un propos qui évite soigneusement de prononcer l'acronyme DXR. AMD dispose déjà d'une API de ce type utilisable sur de multiples plateformes avec Radeon Rays . Interrogé sur la question spécifique de l'accélération matérielle, AMD nous a indiqué qu'ils proposeraient, à un moment non défini, un pilote qui proposera une accélération DXR (au delà du mode "fallback" utilisant Direct Compute et qui lui marche sur tous les GPU, mais probablement en étant peu utilisable). Ce qui sera accéléré, et quelles cartes seront concernées n'est pas encore défini non plus selon le constructeur. On semble sentir une certaine précaution pour ne pas dire frilosité de la part de la société sur sa communication, il nous est difficile de savoir s'il s'agit d'un manque de préparation sur le sujet, d'un désaccord avec Microsoft sur certains choix effectués, ou d'autre chose.

Nvidia de son côté a évoqué son implémentation sous le nom de RTX, cette dernière ne s'appliquera qu'à compter des GPU Volta et ultérieurs (soit uniquement la Titan V dans les GPU "joueurs" actuels de la gamme du constructeur). Nvidia présente la technologie là aussi de manière assez vague, sous entendant que leur implémentation sera utilisable "via" DXR, mettant son API en avant sans que l'on sache si c'est simplement dans un but de démarcation compétitive ou autre chose. Là encore à l'image d'AMD, la communication des deux principaux constructeurs ne va pas exactement dans le même sens que celle de Microsoft (les relations entre Microsoft et les responsables GPU ont toujours été particulières, chacun tentant de tirer la couverture de son côté et de créer un avantage compétitif, que ce soit les constructeurs de GPU l'un face à l'autre, ou Microsoft à proposer une API et des fonctionnalités qui ne soient pas cross-platform).

Du côté des développeurs, Microsoft annonce que les moteurs Frostbite, SEED (plus haut), Unity et Unreal Engine proposeront une forme de support de DXR. Futuremark devrait également proposer un test de ce type pour une version de 3D Mark.

Pilotes GeForce 390.77 pour Metal Gear Survive

Publié le 30/01/2018 à 15:10 par Guillaume Louel

NVIDIA Logo 2010 Nvidia a mis en ligne une nouvelle version de ses pilotes pour cartes graphiques, les 390.77. Cette version apporte un support optimisé pour Kingdom Come : Deliverance, War Thunder, Black Desert Online et Metal Gear Survive.

Quelques bugs ont été corrigés, comme des problèmes de clignotements dans Dirt 4 en SLI, des textures manquantes dans Neverwinter Nights, ou une "baisse de performances" dans 3D Mark (la version n'est pas précisée). D'autres bugs sont encore ouverts, certains étant particulièrement originaux :

[GeForce TITAN (Kepler-based)]: The OS fails after installing the graphics card on a Threadripper-enabled motherboard. [1973303]

Vous retrouverez la liste des bugs dans les releases notes  du constructeur, qui incluent désormais une section "Issues Not Caused by NVIDIA Drivers" qui renvoi à des bugs et limitations spécifiques que Nvidia estime dus à Microsoft et aux différences entre les versions des OS.

Comme toujours ces pilotes sont disponibles directement sur le site du constructeur, pour Windows 10  et Windows 7 .

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 !

GDC: Mantle, Direct3D 12, l'œuf et la poule

Publié le 27/03/2014 à 09:45 par Damien Triolet

S'il y a bien un mot qui était tabou lors de toutes les sessions de la GDC consacrées à Direct3D 12, c'était Mantle. Microsoft, Nvidia et même AMD ont tout fait pour éviter de devoir mentionner cette autre API de bas niveau. Direct3D 12 est-il le résultat de la sortie de Mantle ? Voici ce qui nous semble être la meilleure actuelle théorie sur le sujet…


Durant la GDC, seul Oxide a osé un timide acte de rébellion en déclarant que "porter leur moteur depuis d'autres API modernes était plus simple que de porter de Direct3D 11 vers Direct3D 12". A chacune de ces sessions pourtant, la première question qui était posée était systématiquement la suivante : "comment se compare Direct3D 12 à Mantle ?". Eclats de rire assurés dans la salle mais aucune réponse en retour.


Nvidia, de son côté, explique travailler avec Microsoft sur DirectX 12 depuis plus de 4 ans et en collaboration rapprochée depuis un an. C'est sans aucun doute autant la réalité qu'un baratin énorme pour éviter d'admettre avoir été poussé dans cette direction par l'API Mantle d'AMD.

Microsoft travaille constamment avec ses partenaires au sujet de possibles évolutions de ses API. La machine ne s'arrête pas quand DirectX 11 sort, les discussions et autres phases de recherche continuent. Quand Nvidia indique travailler depuis plus de 4 ans avec Microsoft sur DirectX 12, cela veut simplement dire que Nvidia a poursuivi sa collaboration avec Microsoft au-delà de DirectX 11, comme tous les autres fabricants de GPU. Cela ne veut pas dire que Nvidia travaille depuis 4 ans sur le Direct3D 12 qui est présenté aujourd'hui.

Nous ne pensons pas que le fait que la démonstration de Microsoft d'un prototype de portage vers Direct3D 12 de Forza Motorsport ait été réalisée sur un GPU Nvidia, la GeForce GTX Titan Black, soit un élément significatif. Il est logique que Microsoft opte pour un GPU Nvidia pour mettre en avant l'aspect universel de sa solution. Une démonstration sur un GPU AMD aurait entraîné plus de liens vers Mantle et l'architecture d'AMD puisque le code de base de Forza Motorsport provient de la Xbox One équipée en GPU AMD.

Après de très nombreuses discussions avec tous les acteurs impliqués, à la GDC mais également auparavant, nous sommes convaincus que Mantle a été le déclencheur et l'accélérateur de la direction retenue pour Direct3D 12, quoi qu'en dise Nvidia. Cela ne veut pas dire que Direct3D 12 est un clone de Mantle, mais qu'il semble bel et bien avoir été bâti sur les mêmes bases ou tout du moins fortement tiré dans la même direction. Des bases qui impliquent de transférer une partie significative de la responsabilité des performances et des optimisations du pilote vers le moteur du jeu. Bien sûr, ce n'est pas un monde en noir et blanc, tout le pouvoir ne passe du pilote au moteur de jeu, les deux restent importants mais l'équilibre est modifié en faveur du second.

C'est selon nous la clé pour comprendre la position de chacun et la chronologie des évènements. Il ne faut pas être naïfs, AMD et Nvidia n'opèrent pas de virage important par pure conviction technologique, tous ces choix se font également avec une bonne dose de politique et de stratégie.

Pourquoi AMD a-t-il sorti Mantle ? Parce que Nvidia dispose de la meilleure équipe de développement des pilotes. Pourquoi Nvidia aurait-il été réticent jusqu'alors à faire évoluer Direct3D vers un niveau d'abstraction plus bas ? Parce que Nvidia dispose de la meilleure équipe de développement des pilotes.

Plus une API graphique est complexe, prend des chemins torturés et accuse un surcoût ou overhead élevé, plus les fabricants de GPU ont d'opportunités de se démarquer de la concurrence via leurs pilotes. Cela ne veut pas spécialement dire qu'AMD et Nvidia font ou ont fait volontairement en sorte de complexifier les API, mais que les simplifier et transférer une plus grosse part de la responsabilité de l'optimisation vers les développeurs pose des questions stratégiques importantes qui peuvent les inciter à trainer des pieds face à certaines évolutions.


Les avantages d'une API de plus haut niveau, selon Nvidia.

Le travail important nécessaire pour obtenir des performances de premier plan, que ce soit globalement au niveau des pilotes ou spécifiquement au cas par cas pour chaque application, a permis à AMD et Nvidia de bénéficier de la sécurité d'un marché difficilement accessible à d'autres acteurs. Des sociétés telles que S3, Matrox, XGI etc. s'y sont cassé les dents, en partie pour cette raison. C'est également ce qui a permis à AMD et Nvidia de tenir Intel à l'écart.

Au cours de ses années les plus difficiles, AMD a dû se séparer de nombreux ingénieurs qui travaillaient sur ses pilotes alors même que Nvidia renforçait ses rangs. Même si AMD a récemment revu à la hausse ses investissements auprès du support des développeurs, il est évident que Nvidia dispose d'une force de frappe nettement plus importante sur le plan du développement des pilotes. AMD a probablement fini par prendre conscience du danger que cela pouvait représenter et revu sa stratégie en conséquence. Le réflexe qui pouvait être de trainer des pieds par rapport à un transfert de pouvoir des pilotes vers l'application n'avait plus lieu d'être. Au contraire, il a fini par devenir évident que pousser le marché dans cette direction serait utile pour la compétitivité de la société.

Pas facile cependant de convaincre tout le monde de bouger dans ce sens... Il nous semble évident que stratégiquement Nvidia n'avait au premier abord aucune raison d'abonder dans le sens d'AMD, et préférait opter pour d'autres approches de réduction du surcoût CPU, peut-être moins ambitieuses, qui lui auraient évité d'abandonner autant de contrôle sur les optimisations. Du côté de Microsoft il y avait probablement du pour et du contre, pas mal d'hésitation et d'avis contradictoires.

En développant et en concrétisant Mantle, avec le support de développeurs très enthousiastes, nous pouvons supposer qu'AMD a décidé de donner un coup de pied dans cette fourmilière. Le risque était limité. Dans le pire des cas, AMD pourrait bénéficier d'un mode spécifique dans quelques jeux, et dans le meilleur des cas, en profiter pour forcer la main des acteurs réticents de manière à pousser l'industrie dans une direction plus intéressante pour la société d'un point de vue compétitif.

De premiers résultats encourageants, l'engouement instantané de plusieurs développeurs pour les principes de Mantle (pas spécialement pour l'utilisation d'une API propriétaire !), la position délicate de la Xbox One, la menace de Steam OS, …, tout cela a mis en place une atmosphère qui a permis à tout le monde d'accepter d'aller vers un changement plus radical que certains ne le voulaient au départ pour Direct3D 12. Au final, avec Mantle, AMD a pu influencer significativement Direct3D 12, en plus d'apporter un bonus dans quelques jeux pour les utilisateurs de Radeon, ce qui est toujours bienvenu sur le plan commercial.

Sur la base de la même réflexion, nous pouvons supposer qu'OpenGL ES va évoluer rapidement vers une version à overhead réduit, alors qu'il sera beaucoup plus lent et difficile de faire évoluer OpenGL dont l'importance dans le monde professionnel en fait un élément stratégique crucial. Un responsable du développement d'un des moteurs de jeux majeurs nous a d'ailleurs confirmé qu'un tel OpenGL ES était déjà sur la table.

Nous pouvons par contre supposer que Nvidia sera extrêmement prudent par rapport à une évolution d'OpenGL qui pourrait impacter son très rentable marché professionnel. Même si la tendance va de plus en plus vers une exploitation de toute la puissance des GPU, de nombreuses applications professionnelles liées à la 3D restent fortement limitées par le CPU et les performances du pilote. Une caractéristique qui, comme vous pourrez l'imaginer, fait bien les affaires de Nvidia.

Top articles