01net. web avec Google
nos newsletters
nos magazines
Actualité informatique
Test comparatif matériel informatique
Jeux vidéo
Astuces informatique
Vidéo
Télécharger
Services en ligne
Forum informatique
01men
01net Pro Entreprise informatique

DirectX 10 : voici pourquoi vous allez changer votre carte graphique

Après nVidia, c'est au tour d'ATI d'annoncer une nouvelle génération de cartes DirectX 10. Explications et images d'une petite révolution graphique en cours.

laisser un avis
envoyer
par mail
imprimer
l'article
DirectX 10 fait partie des nouvelles technologies embarquées dans Windows Vista. Il s'agit d'un composant logiciel intégré système d'exploitation, qui assure la compatibilité entre le matériel informatique (carte graphique, carte son...) et de très nombreuses applications. Présent depuis Windows 95 dans sa version 1.0, DirectX intéresse en premier lieu les joueurs et les développeurs de jeux 3D.
Chaque nouvelle version apporte son lot de nouveautés, qui se traduit dans les faits par des titres toujours plus beaux et toujours plus réalistes. DirectX 10 est considéré par Microsoft, ATI et par nVidia comme une avancée technologique majeure. Au menu : plus de pixels shaders, vertex Shaders, geometry shaders. Vous avez dit ' shaders ' ?

B.A. BA de la 3D

Pour bien intégrer les bénéfices de DirectX 10 sur les précédentes générations, il est essentiel de comprendre dans les grandes lignes ce qu'est le rendu 3D. Pour schématiser, une scène en trois dimensions est un amas de points reliés entre eux afin de former une structure géométrique. Ces points, les sommets des polygones, on les appelle ' vertices ' (' vertex ', en anglais). Une fois la structure géométrique formée, des textures sont appliquées. Une texture peut être une couleur, un dessin, une photo, un motif... Peu importe. Enfin, des effets sont rajoutés.
agrandir la photo
Une scène 3D n'est jamais qu'un gigantesque amas de points reliés entre eux par des lignes (crédit : Démo technologique nVidia).
agrandir la photo
Des textures sont rajoutées, et ' par dessus ', des effets : les shaders. Ce visage, quelque part, ce sont eux (crédit : Démo technologique nVidia ).
Petite comparaison : imaginez que vous reliez huit points équidistants dans l'espace par du fil de fer. Vous obtenez un cube. Posez sur chaque côté du cube un morceau de tissu de votre choix, c'est une texture. Prenez un brumisateur et aspergez le tissu d'eau. Par endroits, l'étoffe change de teinte et s'assombrit. Ailleurs, elle peut devenir transparente. Sous le poids de l'eau, le tissu peut même se déformer. Les gouttelettes que vous avez pulvérisées, ce sont les effets. Ces effets en 3D, portent un nom : des shaders. Elles peuvent presque tout faire.
agrandir la photo
Ici, très peu de textures, beaucoup de shaders (crédit : Démo technologique ATI).

Qu'est ce qu'un shader ?

Un Shader est un morceau de code écrit par un programmeur qui, une fois interprété par DirectX puis par le pilote de la carte graphique, affichera un effet. Les shaders existent dans le monde professionnel depuis près de trente ans. Pixar fait partie des firmes qui ont considérablement ?"uvré pour le développement des shaders et leur utilisation dans l'animation 3D. Mais pour calculer des shaders en temps réel, il faut impérativement que nos cartes graphiques soient équipées d'unités de calcul dédiées à leur traitement. Il est tout à fait possible de faire calculer des shaders à un processeur (CPU).
Mais vu les performances obtenues, les développeurs de jeux vidéo n'ont jamais utilisé cette méthode. Il aura fallu attendre l'an 2000, date de sortie de DirectX 8, 2001, date de sortie des GeForce 3 et des Radeon 8500, et 2002 pour que les jeux vidéo utilisent, pour la première fois, des shaders. Depuis, ils sont devenus le nerf de la guerre. Pour un développeur de jeux, bien maîtriser l'écriture des shaders c'est créer des jeux toujours plus beaux. Avant l'arrivée de DirectX 9, on en comptait de deux types : vertex shaders et pixels shaders.
agrandir la photo
Image issue du jeu Call of Juarez, sous DirectX 10 (crédit Techland).

Les pixels shaders

Considérons les pixels shaders comme des effets appliqués à un groupement de pixels. Une vague, par exemple, peut être composée de quelques polygones en mouvement, sur lesquels le développeur a rajouté de très nombreux pixels shaders représentant la mer. Ainsi l'écume, les vagues, la déformation, les différents degrés de transparence de l'eau... tout peut être calculé par des pixels shaders.
Imaginez maintenant l'équivalent sans pixel shader. Le moteur 3D doit générer un nombre très élevé de vertices, créer une structure géométrique complexe, appliquer d'innombrables textures et calculer le mouvement pour un résultat au final décevant : la mer n'a rien de géométrique. Un bon programmeur est capable de recréer n'importe quel effet visuel avec des shaders.

Les vertex shaders

Les vertex shaders agissent, comme leur nom l'indique, sur les vertices. Il s'agit de la possibilité pour la carte graphique de modifier leurs paramètres. Selon le programme, le vertice peut ainsi changer de couleur, de texture, ou encore de positionnement dans l'espace. C'est une modification appliquée à une surface géométrique. Sous DirectX 9, les vertex shaders souffrent d'une limitation de taille. Chaque vertice créé ou supprimé est calculé par le CPU. Le GPU (processeur graphique) ne peut ni en effacer, ni en créer. Entre le CPU et le GPU, l'échange d'informations est intense. Avec DirectX 10, les choses changent et les geometry shaders font leur apparition.
Voici un excellent exemple des possibilités des shaders sous DirectX 9 et DirectX 10. Ces deux séries d'images montrent les possibilités minimales, moyennes et maximales de modification des shaders qui composent le visage du personnage. C'est ainsi que l'on finit par les rendre expressifs.
agrandir la photo
Half Life 2 : Episode 1, sous DirectX 9 (crédit : Valve).
agrandir la photo
Team Fortress 2, sous DirectX 10 (crédit : Valve).

Les geometry shaders

Une primitive est une forme géométrique simple. Cela peut être un point, une ligne, un triangle... Ce que l'on appelle geometry shaders, c'est précisément la possibilité pour le processeur graphique de traiter ces primitives, soit un groupe de vertices. Dans un premier temps, une forme géométrique est créée à l'initiative du CPU. Ensuite, le GPU modifie les primitives puis travaille directement sur la forme géométrique dans son ensemble, et non plus point par point.
Les unités de calcul de shaders peuvent dupliquer ces formes, en créér de nouvelles, ou en supprimer. Sous DirectX 9, comme sous toutes les versions précédentes, c'était impossible. Avec DirectX 10 et les geometry shaders, Microsoft souhaite améliorer considérablement les performances des calculs géométriques et offrir aux développeurs la possibilité de créer des scènes 3D toujours plus complexes. A court terme, cela ne signifie pas forcément des jeux plus beaux, mais plus rapides.
agrandir la photo
Une scène complexe, issue d'une démo technologique nVidia, qui utilise pixels shaders, vertex shaders, et geometry shaders. Le taux d'utilisation du CPU oscille entre 40 et 50 %. Il reste donc au CPU la moitié de ses ressources pour effectuer toutes les autres tâches : gestion de l'intelligence artificielle, de la physique du son, etc.
Stéphane Quentin, responsable produits chez nVidia, le résume ainsi : ' Si l'on prend l'exemple d'un jeu de stratégie en temps réel, comme "Supreme Commander", des centaines d'unités sont affichées simultanément à l'écran. Le processeur calcule les informations de géométrie de chaque unité, puis les envoie au GPU. Lorsqu'un patch DirectX 10 sera disponible, le CPU ne sera plus chargé de ces calculs géométriques. Le GPU s'en occupera directement '.
L'avantage c'est que le GPU est, grosso modo, dix fois plus rapide pour exécuter ce type d'opérations. Il en sera de même avec "Flight Simulator". Typiquement, ce jeu nécessite peu d'effets de pixels shaders, mais ses exigences en termes de géométrie sont énormes. Flight Simulator X sera, lui aussi, patché pour fonctionner en DirectX 10.

Qu'est ce qu'une architecture unifiée ?

Il s'agit pour le constructeur d'une carte graphique d'intégrer au sein du GPU des unités de calculs capables de traiter, de manière indifférenciée, tout type de shaders. Concrètement, une carte graphique DirectX 9 comporte des unités de calcul dédiées aux pixels shaders, et d'autres aux vertex shaders. Le problème, c'est que cette ' séparation des pouvoirs ' peut se transformer en goulet d'étranglement. En effet, si une scène 3D exige un important travail sur les pixels shaders, mais peu de vertex shaders, une unité de calcul travaille à plein régime pendant que l'autre se tourne les pouces. L'exemple choisi par Lars Weinand, responsable technique chez AMD, est très parlant.
' Imaginez une scène en 3D représentant un bateau sur la mer. La mer exige de nombreux calculs de pixels shaders, et le bateau, de nombreux calculs de vertex shaders. Les pixels shaders ne sont appliqués qu'une fois que les vertex shaders sont calculés. Si les unités de calcul de vertex shaders sont pleines, et tournent à plein régime, que font les unités de pixels shaders pendant ce temps ? Elles attendent. L'avantage de l'architecture unifiée, c'est que toutes les unités de calcul sont capables de traiter vertex, pixels, et geometry shaders. Toutes les unités travaillent à plein régime. Le rendement est bien supérieur '.
ATI avait déjà choisi d'utiliser une architecture unifiée lors de la conception du GPU qui équipe la Xbox 360. Aujourd'hui, ses cartes graphiques de la série Radeon HD 2000, conçues pour DirectX 10, reposent toutes sur une architecture unifiée. Chez nVidia, il en est de même. Mais il ne faut pas en déduire que Microsoft a obligé les fabricants de GPU à modifier leurs produits. Il aurait été tout à fait possible pour ATI ou pour nVidia de créer des cartes DirectX 10 dotées d'unités de calcul de shaders dédiées.

Adieu rétrocompatibilité !

DirectX 10 est certainement la mise à jour la plus importante depuis la version 8, qui date de 2000. Il promet plus de tout. Plus d'effets, plus de réalisme, plus d'objets affichés à l'image, plus de physique décorative. Les shaders se déchaînent. Mais aujourd'hui, une carte graphique DirectX 9 sous Windows XP ne pourra, en aucun cas, faire tourner un jeu DirectX 10... La même carte graphique sous Windows Vista non plus !
Ainsi, dès que les premiers titres DirectX 10 seront disponibles dans le commerce, les joueurs impatients n'auront d'autre choix que d'investir dans un GPU compatible. ATI vient juste d'annoncer ses nouveaux produits (cinq GPU pour PC de bureau, quatre pour portables), et nVidia commercialise, depuis quelques mois déjà, ses GeForce 8000, compatibles DirectX 10. De même, le fondeur s'apprête à livrer à ses partenaires les GPU pour ordinateurs portables, GeForce 8M. Les tout premiers jeux DirectX 10 devraient sortir d'ici à l'été.
7 AVIS SUR CET ARTICLE
Répondre
 

Avis sur «DirectX 10 : voici pourquoi vous allez changer votre carte graphique»

2  
Trier par

 

magnifique

de fils du desert , posté le 15 février 2008 à 15h31
joli truc pour avoir amelioration impeccable...merci
alerter le modérateur

 

Superbe ..

de Gigigood , posté le 26 mars 2008 à 13h39
... l'explication.
Top. Ça me réconcilie avec 01Net.
Merci.
alerter le modérateur

 

la retrocompatibilitée

de ghostofshark , posté le 30 juillet 2008 à 22h42
est-elle possible dans l'autre sens, cette retrocompatibilitée?
faire tourner des jeux en directX9 alors ke l'on a une carte en directX10?
alerter le modérateur

 

Mefiance...

de haltux , posté le 07 aout 2008 à 15h01
Attention a ne pas virer au publi-reportage pour DX10. Le patch pour FSX est très décevant.

alerter le modérateur

 
 
2  
Trier par

 
7 AVIS SUR CET ARTICLE
Répondre
 
 
 
publicité
à lire aussi
SUR LES MÊMES THÈMES
AMD va licencier 11 % de son effectif
Tirez le meilleur parti de votre carte graphique
Contrôlez le pilote de votre puce graphique Intel
Computex : des puces, du fun et un peu de mauvais goût
Nos conseils pour régler votre carte graphique ATI
Une vraie carte graphique pour le jeu : le comparatif du 01Lab
[Pratique] Tirez le meilleur parti de votre carte graphique Nvidia
Tirez le meilleur parti de votre carte graphique Nvidia
L’OI-SVM n°233, le sommaire
Coulisses du 01Lab : smartphone multimédia Acer Stream
Avant le Computex, MSI fait son show à Amsterdam
Nvidia GeForce GTX 480 : le test du 01Lab
Neuf cartes graphiques pour le jeu vidéo
En vidéo : un volant Logitech, une carte graphique Asus et un mobile Samsung écolo
Les coulisses de la rédaction : édition du 21 octobre 2009
Les coulisses de la rédaction : édition du 14 octobre 2009
Réduisez votre ordinateur au silence
Et si l'on rêvait avec l'un des PC les plus rapides du moment ?
Téléchargement express, sans rien installer !
Des logiciels pour changer le format de vos vidéos