Téléchargez l'application
Tom's Hardware sur l'App Store
Toute l'actu informatique de référence sur votre iPhone
Oui Non

DirectX 10

par

D’ici très peu de temps maintenant les premiers GPU Direct3D 10 devraient faire leur apparition, nous avons donc pensé qu’il était temps de nous attarder sur les nouveautés offertes par cette API qui est la première remise à plat complète initiée par Microsoft depuis son introduction il y a maintenant 10 ans.

Dans un premier temps l’API Direct3D a pris modèle sur sa grande sœur OpenGL, qui pouvait bénéficier de toute l’expertise et l’expérience de SGI (Silicon Graphics) dans le domaine, et a tenté d’implémenter le pipeline OpenGL dans son intégralité. Alors que les premiers GPU se contentaient du rendu, ils ont ensuite évolué pour intégrer une plus grande partie du pipeline 3D notamment le setup engine et finalement le fameux Transform & Lighing. Direct3D a donc évolué au fil des versions pour prendre en compte ces modifications ainsi que bien d’autres.

Mais une fois le pipeline de rendu complètement intégré, un point d’inflexion a été atteint, il a donc fallut entreprendre une réflexion sur l’avenir de la 3D pour ne pas se tromper de direction. Le résultat fut à la hauteur des attentes vu qu’il a donné naissance aux shaders, ces petits programmes qui permettent d’adapter le fonctionnement du GPU en fonction des besoins. Après 3 années d’évolutions rapides (cf notre article) les shaders sont arrivés à une certaine maturité et il est apparu évident qu’ils devaient occuper une position prépondérante au sein des futures API.

Les objectifs de Direct3D peuvent donc se résumer en 3 points :

  • Optimiser la performance : Direct3D 9 avait un surcoût CPU trop important, la nouvelle API devait réduire cet impact sur le CPU afin que les jeux ne soient pas artificiellement limités par le CPU.
  • Rationaliser les fonctionnalités : Depuis sa création il y a 10 ans Direct 3D a énormément évolué, de même que les GPU mais par souci de rétrocompatibilité toutes les fonctionnalités devenues obsolètes depuis bien longtemps sont toujours présentes. La nouvelle API devait donc être orthogonale c’est-à-dire n’offrir qu’une façon d’arriver à un résultat donné : la meilleure.
  • Imposer des règles strictes sur les fonctionnalités : Un des problèmes les plus handicapants pour un développeur a longtemps été les différences de comportement entre les différents GPU sur certaines fonctionnalités, voire même la différence de fonctionnalités tout court. Ils ont donc du apprendre à jouer avec les caps bits de DirectX et les extensions d’OpenGL pour arriver à leurs fins. La nouvelle API devait donc garantir un jeu de fonctionnalités fixe que tous les GPU devraient intégrer dans son intégralité.

La contrepartie de ces choix radicaux est qu’il est désormais impossible d’offrir des drivers compatibles Direct3D 10 pour un GPU DirectX 9. Comme nous l’avons vu plus haut la nouvelle API n’hésite pas à briser la rétrocompatibilité et un jeu Direct3D 10 ne tournera donc que sur une carte Direct3D 10. Notons que ça ne change pas fondamentalement les choses pour les joueurs : jusqu’ici un GPU DirectX 8 pouvait certes utiliser les interfaces DirectX 9 mais si un jeu faisait appel à des fonctions spécifiques à cette API il fallait de toute façon que le développeur ait prévu un code path adapté aux GPU DirectX 8. Avec la nouvelle API, vu que les jeux exclusivement DirectX 10 ne sont pas prêts d’arriver, les développeurs devront donc développer deux exécutables différents : l’un utilisant les bibliothèques DirectX 9, l’autre DirectX 10. En clair il s’agit donc plus d’un casse tête supplémentaire pour les développeurs que pour les joueurs qui devraient bénéficier de versions DirectX 9 de leurs jeux favoris pendant encore longtemps, le temps que Vista et les cartes Direct3D 10 se généralisent.

Partager:
35
Commentaires
X
Valider

Commentaires
Lire les commentaires sur le forum
YannOucH 06/11/2006 10:14
Masquer
-0+

Merci c'est un excellent article ! Le premier en français en plus je pense !

SpadVIII 06/11/2006 10:32
Masquer
-0+

Citation :

Merci c'est un excellent article ! Le premier en français en plus je pense !




Presque:

http://www.hardware.fr/articles/63 [...] -gpus.html (7 juillet 2006)


Sinon, très bon article en effet ! :jap:

ronaldo1 06/11/2006 11:14
Masquer
-0+

Je ne savait pas que directx se limitait qu'a Direct 3D ;)

SpadVIII 06/11/2006 11:22
Masquer
-0+

Citation :

Je ne savait pas que directx se limitait qu'a Direct 3D ;)




C'est la partie de DirectX qui interesse le plus de monde ! La partie gestion des Joystick et autres volants (entre autre) est beaucoup moins passionnante ! :D (même si pas inintéressante finalement).

fourbe 06/11/2006 11:27
Masquer
-0+

Article de très grande qualité !
A mettre en avant au lieu de l'article sur le fusion d'amd :)

et puis bravo microsoft. Meme si on doit changer d'os, Dx avait besoin d'une grosse mise à jour.

Zeross 06/11/2006 12:00
Masquer
-0+

Citation :

Je ne savait pas que directx se limitait qu'a Direct 3D ;)




En fait le nom officiel de la nouvelle API est Direct3D 10, même si l'appelation DirectX 10 est acceptée par MS. Les autres parties de l'API n'évoluent plus et son vouées à être remplacées par leurs équivalents XNA.

ultrabill 06/11/2006 12:11
Masquer
-0+

Citation :

C'est la partie de DirectX qui interesse le plus de monde ! La partie gestion des Joystick et autres volants (entre autre) est beaucoup moins passionnante ! :D (même si pas inintéressante finalement).


Et les parties Audio et Réseau ça sert à rien :o ??

PSIKUS 06/11/2006 12:17
Masquer
-0+

ce qui est bien avec ce genre d'article c'est que l'on comprend tout desuite, surtout le lundin matin, ca met en forme pour la semaine LOL

SpadVIII 06/11/2006 12:50
Masquer
-0+

Citation :

Et les parties Audio et Réseau ça sert à rien :o ??




Si, c'est pour ça que j'ai dit "entre autre"... :o

Celeron466 06/11/2006 13:27
Masquer
-0+

Faut-il garder sa vieille carte graphique de côté, pour continuer à jouer à Quake II ou au 1er Tomb Raider ? Comment faire si je veux jouer à POD : garder un second pc avec une bonne vieille radeon 7000 sous Xp, ou bien une Voodoo 4500 de chez 3dfx...
Jusqu'à quel API les cartes DirectX10 seront-elles rétrocompatibles, seulement DirectX 9 ? - Je parlais de Quake II qu'en est -il d'Open GL, et de ses différentes versions ? (pardon d'avance si j'ai manqué un passage)

AccroPC2 06/11/2006 13:30
Masquer
-0+

C'est un article très interessant, dommage que le francais utilisé soit un peu limite

Citation :modèle de driver impacte également

Citation :le moins pire

etc...

Oui, je sais c'est pointilleux ( surtout que personnellement, je ne suis pas très fort ). Mais vous êtes des pros, non ?

Zeross 06/11/2006 13:49
Masquer
-0+

Citation :Faut-il garder sa vieille carte graphique de côté, pour continuer à jouer à Quake II ou au 1er Tomb Raider ? Comment faire si je veux jouer à POD : garder un second pc avec une bonne vieille radeon 7000 sous Xp, ou bien une Voodoo 4500 de chez 3dfx...
Jusqu'à quel API les cartes DirectX10 seront-elles rétrocompatibles, seulement DirectX 9 ? - Je parlais de Quake II qu'en est -il d'Open GL, et de ses différentes versions ? (pardon d'avance si j'ai manqué un passage)


Direct3D 10 par défaut n'est pas rétrocompatible. Pour faire tourner les anciens jeux Vista intègrera une version de DirectX 9 adapté au nouveau modèle de driver. Si les anciens jeux fonctionnaient avec DirectX 9 en principe ce sera toujours le cas sous Vista. En ce qui concerne OpenGL après quelques tergiversations, au final Vista offrira un support complet, les versions supportées ne dépendant que du fabriquant de carte graphique et pas de MS.

Citation :

C'est un article très interessant, dommage que le francais utilisé soit un peu limite

Citation :modèle de driver impacte également

Citation :le moins pire

etc...

Oui, je sais c'est pointilleux ( surtout que personnellement, je ne suis pas très fort ). Mais vous êtes des pros, non ?




Non ce n'est pas pointilleux c'est justifié, "moins pire" est en effet très laid j'ai honte ;)
Par contre j'avoue que je ne vois pas le problème avec la première phrase :??:

charon 06/11/2006 13:59
Masquer
-0+

Tres bon article :)

SpadVIII 06/11/2006 14:25
Masquer
-0+

Maintenant, on devrait assiter à un grand bon en avant dans la prochaine génération de jeux:

* Processeurs plus puissant et support du multi-core de plus en plus courant.

Alors que dans le même temps nous trouvons:

* Une API plus légère, donc CPU moins sollicité
* Un CPU qui se décharge en plus de certain calculs pour les refiler au GPU
* GPU permettant encore plus d'effet graphiques et toujours plus puissant

= Gain final surement très impressionnant !!! :ouch: (enfin, on a déjà un aperçu dans certain trailers... :love: )

ultrabill 06/11/2006 16:07
Masquer
-0+

Citation :

Si, c'est pour ça que j'ai dit "entre autre"... :o


c'est un peu trop facile ça :o

AccroPC2 06/11/2006 16:16
Masquer
-0+

Alors pour la première phrase ... Le verbe "impacter" n'existe pas dans la langue française ( même si il est très employé ) ;)

Eric B 06/11/2006 16:16
Masquer
-0+

article intéressant, meme si je n'ai pas pris le temps de lire tout en détails.
On comprend mieux pourquoi DX10 ne tournera pas sous XP. Sans aller jusqu'au "complot", il est clair que ce n'est pas intéressant pour MS de redevelopper son GDI pour XP.
Cela reste toutefois un bon argument pour passer tot ou tard à Vista: la communauté de joueur représente un beau panel de clients pour MS qui va encore pouvoir gonfler son compte en banque...
Sans vouloir ouvrir de troll, je pense que c'est d'ailleurs bien ce que bcp critiquent à MS: profiter pleinement de notre société capitaliste.

Celeron466 06/11/2006 18:36
Masquer
-0+

Citation :Direct3D 10 par défaut n'est pas rétrocompatible. Pour faire tourner les anciens jeux Vista intègrera une version de DirectX 9 adapté au nouveau modèle de driver. Si les anciens jeux fonctionnaient avec DirectX 9 en principe ce sera toujours le cas sous Vista. En ce qui concerne OpenGL après quelques tergiversations, au final Vista offrira un support complet, les versions supportées ne dépendant que du fabriquant de carte graphique et pas de MS.


Ah merci bien pour la réponse ! Heureusement que l'Open GL est supporté, car Quake Wars En. Ter. par exemple n'est pas encore sorti ! et ça l'aurait fichu mal que des titres comme Doom 3 ou Quake 4 ne passent plus sous Vista... sacré Carmack !

YannOucH 06/11/2006 20:43
Masquer
-0+

Citation :

Presque:

http://www.hardware.fr/articles/63 [...] -gpus.html (7 juillet 2006)


Sinon, très bon article en effet ! :jap:




Ah merci il m'avait échapper celui-là, il est vieux en plus je suis impardon(n)able ! ;)

AccroPC2 06/11/2006 21:31
Masquer
-0+

Si j'ai bien compris tu ne pourras plus jouer a tes jeux DX8-9 sous DX10 ( pas de retro compatibilité ). A mon humble avis tout le monde n'est pas pret a jeter tous ses jeux à la benne. Donc l'avenement de vista pour le jeu, c'est pas pour demain.

fourbe 06/11/2006 21:36
Masquer
-0+

nan c'est pas vraiment ca.
C'est surtout que plus aucune carte vidéo antérieur à DX10 pourra faire fonctionner un jeu sous DX10.
La rétrocompatibilité sera surtout à ce niveau.
Apres j'espere pour microsoft qu'on pourra tjs jouer aux jeux plus vieux. Parce qu'ils ont aussi une branche jeux ;)

Mictateur 07/11/2006 09:29
Masquer
-0+

Citation :

Donc l'avenement de vista pour le jeu, c'est pas pour demain.



On parie ? ;)

Citation :

Apres j'espere pour microsoft qu'on pourra tjs jouer aux jeux plus vieux. Parce qu'ils ont aussi une branche jeux ;)



D'après ce que j'ai compris, non, DX10 ne permettra pas cela.
C'est WGF 1.0 (DirectX 9L, quoi) qui prendra en charge le côté compatibilité, puisqu'il s'agit juste d'une version de DX9 modifiée pour fonctionner sous Vista. [:spamafote]
WGF 2.0 (DX10) s'occupera de la nouvelle génération. :)


Edit : en fait, je viens un peu de répéter ce que disais Zeross un peu plus haut... :o

Edit bis : j'ai oublié de dire que cet article est franchement génial et très intéressant (en plus d'être assez... enfin, les infos sont tout de même assez bien décortiquées !). :jap:

Deux gros points noirs quand même :
- un petit F7 sous Word, ça ne tue personne. Enfin, à part les rédacteurs, j'ai jamais vu personne en mourir.
- un lexique est du genre... heu... INDISPENSABLE. Sur certains points, j'ai réellement du mal à suivre, et pourtant je suis (du verbe 'suivre') un minimum ce genre d'actualités. J'ai du mal à imaginer un néophyte de la 3D temps réel devant cette article (alors ma grand-mère... [:rire2] ). Des mots sont balancés, comme ça, de manière très violente, et des fois, ça fait mal, on se sent vraiment stupide (même en connaissant les trois quarts des mots techniques, y'a des moments...).

Loacoon 07/11/2006 13:15
Masquer
-0+

Super article, et j'avoue mieux comprendre les raisons de MS pour la compatibilité avec XP.

Citation :
Deux gros points noirs quand même :
- un petit F7 sous Word, ça ne tue personne. Enfin, à part les rédacteurs, j'ai jamais vu personne en mourir.
- un lexique est du genre... heu... INDISPENSABLE. Sur certains points, j'ai réellement du mal à suivre, et pourtant je suis (du verbe 'suivre') un minimum ce genre d'actualités. J'ai du mal à imaginer un néophyte de la 3D temps réel devant cette article (alors ma grand-mère... [:rire2] ). Des mots sont balancés, comme ça, de manière très violente, et des fois, ça fait mal, on se sent vraiment stupide (même en connaissant les trois quarts des mots techniques, y'a des moments...).

Pour une fois je suis d'accord avec toi ;).

wedge 07/11/2006 13:52
Masquer
-0+

Article très interessant et d'un bon niveau technique. Reste a voir ce que ca donnera vraiment avec les premiers benchs et Windows Vista et les premières CG Dx 10 :)

fourbe 07/11/2006 13:56
Masquer
-0+

pour moi les bench c'est comme les stats. Ca n'arrange que ceux qui les font.

Mictateur 07/11/2006 14:17
Masquer
-0+

Citation :

Pour une fois je suis d'accord avec toi ;).



Champaaaaaaaaaaaaagne !



...





LA CHENILLE ! LA CHENILLE ! LA CHENILLE ! LA CHENILLE ! :o

Ashitaka81 07/11/2006 15:14
Masquer
-0+

Moi aussi je suis pointilleux ;)

- Le lien pour réagir en bas de l'article renvoie sur l'article même, pas sur ce forum, c'est normal ?
- "8192x9192" c'est pas très rond.
- "aussi suscitions nous des espoirs", c'est la fête du saucisson :D Plus sérieusement, c'est l'implémentation qui suscitait quelque chose (de l'espoir en l'occurence), pas nous.
- "la rétro-compatibilité abandonnée, un choix rare et courageux, basé sur la technologie et pas sur le marketing"... Faut pas abuser non plus. Effectivement en lisant ce test on se rend compte qu'ils ont fait les choses dans le bon sens, proprement et dans un soucis d'efficacité, mais de là à dire que ce n'est pas marketing, mais rare et courageux, il y a un pas énorme que je ne franchis pas.

ultrabill 07/11/2006 20:01
Masquer
-0+

Citation :

Si j'ai bien compris tu ne pourras plus jouer a tes jeux DX8-9 sous DX10 ( pas de retro compatibilité ). A mon humble avis tout le monde n'est pas pret a jeter tous ses jeux à la benne. Donc l'avenement de vista pour le jeu, c'est pas pour demain.


Donc "non" :o
J'ai pu jouer à Dungeon Keeper sous Vista ;)

Comme l'a dit fourbe, on ne pourra pas lancer de jeux DX10 sur une carte DX5-6-7-8-9.
Actuellement, à part la folie, rien ne t'empèche de jouer à Battlefield sur une TNT2. Avec les jeux DX10, ce sera impossible ;)

Mictateur 07/11/2006 22:16
Masquer
-0+

Citation :

Actuellement, à part la folie, rien ne t'empèche de jouer à Battlefield sur une TNT2. Avec les jeux DX10, ce sera impossible ;)



Tu oublies les options "pari stupide" et "sado-masochisme". ;)

ultrabill 07/11/2006 23:02
Masquer
-0+

Citation :Tu oublies les options "pari stupide" et "sado-masochisme". ;)
c'est pas faux [:grut]

Les offres du moment

Newsletters


OK