S'abonner :  Newsletters    Magazines
PC Portables Moniteurs Photo/Vidéo TV Téléphones Audio GPS Stockage Pilotes Autres catégories

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
partager sur Viadeo
partager sur Facebook
partager sur LinkedIn
partager sur Scoopeo
partager sur Technorati
partager sur Digg
partager sur Delicious
partager sur Google
partager sur Myspace
partager sur Yahoo!

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é.

débat
7 avis d'internautes
DirectX 10 : voici pourquoi vous allez changer votre carte graphique
magnifique
par fils du desert
le 15/02/2008 15:31:25
Superbe ..
par Gigigood
le 26/03/2008 13:39:48
la retrocompatibilitée
par ghostofshark
le 30/07/2008 22:42:17
Mefiance...
par haltux
le 07/08/2008 15:01:31
berr
par berrlove
le 15/11/2008 20:08:29
fgsrfgr
par selmi cristo
le 15/04/2009 11:00:45
fgsrfgr
par selmi cristo
le 15/04/2009 11:01:45
publicité
débat
7 réactions
 
fgsrfgr
posté le 15/04/09 à 11:01 par selmi cristo
fgsrfgr
posté le 15/04/09 à 11:00 par selmi cristo
berr
posté le 15/11/08 à 20:08 par berrlove
Mefiance...
posté le 07/08/08 à 15:01 par haltux
la retrocompatibilitée
posté le 30/07/08 à 22:42 par ghostofshark
à lire aussi
SUR LES MÊMES THÈMES
Et si l'on rêvait avec l'un des PC les plus rapides du moment ?
Avec Larrabee, Intel peut-il avoir la peau de nVidia et d'ATI ?
Quelle box ADSL choisir pour surfer, téléphoner et regarder la télévision ?
Les coulisses de la rédaction : édition du 17 mars 2009
Les coulisses de la rédaction : édition du 4 mars 2009
Retour sur le meilleur du CES 2009
Découvrez les innovations du Consumer Electronics Show 2009 de Las Vegas
Le zapping Produits de l'année
Le scandale des amplis home cinéma HD sans le son HD
Les coulisses de la rédaction : édition du 17 décembre 2008
Tous les bons plans pour acheter les produits high-tech moins cher
Les coulisses de la rédaction : édition du 10 décembre 2008
Les coulisses de la rédaction : édition du 3 décembre 2008
Les coulisses de la rédaction : édition du 26 novembre 2008
Les coulisses de la rédaction : édition du 19 novembre
Les produits stars de 2008
Les 50 vraies bonnes affaires de la rentrée
Xbox 360 rhabillée pour l'hiver ; Crash test PC portable Tetra...
Dix produits numériques pour ne pas rater vos vacances
Imprimantes Polaroid PoGo et 10 x 15 Canon, téléphone-clé 3G Toshiba et kits de survie
01Informatique
01 INFORMATIQUE
L'hebdo de référence des décideurs informatiques.
Micro Hebdo
MICRO HEBDO
L'hebdo qui vous simplifie la micro
et Internet.
L'Ordinateur Individuel
L'ORDINATEUR INDIVIDUEL
Le mensuel informatique qui vous informe et vous conseille.
Tous droits réservés © 1999 - 2009 Internext - 01net.