Vous devez tous savoir qu’un des inconvénients majeurs de Windows Vista à son lancement fut DirectX10. La nouvelle API graphique imposait en effet pour fonctionner de remplacer sa carte graphique pour un nouveau modèle, compatible. Sans carte adaptée, le rendu DirectX10 était inaccessible, on restait limité au rendu DX9. Pour Windows 7 heureusement, Microsoft prépare une transition plus douce.
7 apportera aussi sa nouvelle version de DirectX, alias DirectX11. Et grâce à cette nouvelle version de l’API, tout le monde pourra profiter du même rendu haute qualité et de la même richesse d’effet, quel que soit le matériel qu’il possède. Autrement dit un rendu DirectX10 pourra être effectué sur une carte limitée à DirectX9, ou même sans carte du tout !
WARP = Windows Advanced Rasterisation Platform
Les trucs derrière ce tour de magie s’appellent Direct3D 10Level9 Driver et Direct3D WARP 10. Le premier s’occupe de retranscrire les commandes spécifiques à DX10 pour qu’elles puissent être exécutées sur des cartes DX9. Oui, vous avez bien lu, cela même que Microsoft jurait ces grands dieux totalement impossible au lancement de Vista.
Le Direct3D WARP 10 (WARP = Windows Advanced Rasterization Platform) se compose lui de deux compilateurs temps réel : l’un chargé de traduire le code HLSL écrit par les programmeurs en commandes compréhensibles par les shaders des cartes graphiques, l’autre chargé de retranscrire ses commandes en instructions x86 ou x64 (SSE2 et SSE4.1 compris). Ainsi, un jeu DX10 pourra s’exécuter même si aucune carte graphique n’est présente, en reposant sur le seul CPU.
Plus besoin de carte graphique pour jouer ?
Evidemment toutes ces réinterprétations à la volée ne se font pas sans pertes de performances. Si l’impact de Direct3D 10 Level9 n’est pas encore connu, Microsoft a publié des résultats de test du rendu de Crysis via Direct3D WARP 10 sur différents CPU :
Au fond, quel intérêt ?
Au vu des performances atteintes, quel intérêt ? D’abord, il faut prendre en compte que le test concerne Crysis, qui est le jeu le plus gourmand qui existe aujourd’hui. D’autres programmes pourraient être tout à fait jouables. Ensuite, l’idée de Microsoft n’est pas de rendre inutiles les cartes graphiques. L’intérêt est plutôt :
- de rassurer les consommateurs : plus de crainte de ne pas pouvoir profiter des jeux futurs avec son matériel actuel
- de simplifier la tâche aux programmeurs : ils n’auront plus deux versions de leurs jeux à prévoir.
Ce dernier point est très important pour l’avenir, et pour assurer l’essor d’applications optimisées GPGPU : elles fonctionneront sur toutes les machines passées, présentes et à venir, avec ou sans GPU. Bref, on applaudit Microsoft. Mais une question demeure : pourquoi diable ne pas avoir proposé cette souplesse dès l’introduction de DirectX10 et de Vista ?
- Si vous souhaitez en apprendre plus sur les nouveautés apportées par DirectX 11, vous pouvez vous reporter à notre dossier OpenGL 3 et DirectX 11 : la guerre des API 3D n’aura pas lieu

Sinon ils ont l'air malin avec leur histoire de Vista=Directx10...
quand vous dites qu'il retranscrit ses commandes en instructions x86 ou x64, larabee est basé sur des cores p54c donc x86. Et la les perfs seront sans doute bien meilleure.
Pour terminer, le 2e point concernant l'intérêt ne tient pas la route étant donné que pour l'émulation, on a besoin de faire plus de calculs, donc d'avoir un matériel plus performant, ce que l'on ne possède pas...
Donc à première vue, ça n'a pas l'air terrible
Sauf qu'actuellement la plupart des jeux sont avant tout fait pour les consoles. Et celles-ci sont en Dx9. Donc pour les jeux consoles, les programmeurs auront encore ce double travail à faire. Vivement la prochaine génération de console.
Bonne initiative de microsoft. En retard hélas, mais au moins c'est fait.
Parceque + de 2ans de dev chez M$ plus tard on est là ... Et que donc y'a 2 ans c'était pas possible
Si c'est le cas c est plutot terrible...
Si par contre le jeu est en dx10 et que j ai une carte dx9 et que tout les effets sont calcules par le CPU, alors ca n'a aucun intéret...
Également pour les effets directX10 (pourquoi pas 11?)?
Donc en gros on pourra profiter d'un directX10 software pour les carte graphique qui gère seulement le directX9 (quand même pas très utiles vu que un jeux directX10 demande énormément de ressource et les carte directX9 aurons du mal >
Parce que moi avec ma vieille carte DX9, je doute pouvoir convenablement à Crysis en DX10 (même en mettant tout au minimum) en faisant juste chier le proc un peu plus...
En gros, ce qu'ils proposent c'est un rendu software des effets pas gérés en hardware quoi. Donc à moins d'avoir un proc de taré et une CG à genoux...
Là suis bluffé de l'avancée qu'a fait Microsoft sur DirectX, c'est un pas de géant en avant !
"Sauf qu'actuellement la plupart des jeux sont avant tout fait pour les consoles. Et celles-ci sont en Dx9. "
il y a que ms qui utilise direct x... sony et nintendo utilise autre chose et ms est très très très loin de dominé le marché des consoles
L'optimisation est pour la première foi un argument de vente! c'est tout à leur honneur !!!
Moi, Je l'attends!
Implémenter une API complexe comme DirectX10 pour quelle tourne 100% de façon software et optimisée (multicore, assembleur SSE2, code des shaders optimisé à la volée (JIT) en fonction du proc x86, x87, x64, SSE2, Microsoft a même utilisé SSE4.1 (Penryn)) prends du temps...
Microsoft a certes des moyens financiers énormes, mais des bons programmeurs assembleur et 3D ça ne court plus les rues de nos jours.
Quant à Larrabee, je pense pas que ça soit le but. D'une part parceque c'est Intel qui fournira le driver DirectX10, Intel ayant une bien meilleur connaissance de son futur bébé.
Ensuite, je pense que dans un premier temps, Microsoft a du coder ce WARP principalement en pur C++, assembleur et threads windows.
Or pour exploiter la puissance de Larrabee, il faudra passer par une librairie du genre CT (une extension du C++) pour gérer tout ce qui création et lancement de Threads.
Mais bon c'est pas impossible que Microsoft planche là dessus aussi en même temps. Vu qu'Intel va surement refaire le coup des chipset intégrés dans tous les pcs vendus, sauf que là ça sera un Larrabee ou déclinaison.
* DirectX 9
* DirectX 10
* DirectX 10.1
tout exécuter grâce a Warp sur un code exécutable par un processeur mais exécuter sur le materiel le plus rapide disponible...
et grâce au nouveau Compute Shaders, qui permettront aux cartes graphiques compatibles de s’occuper de calculs qui sont d’ordinaire réservés au processeur central. de lancer ceux ci.. pour etre compatible la carte graphique doit supporter un mode gpgpu cuda ou (une alternative Ati ou de Larrabee) Ce fonctionnement est appelé par Microsoft "Direct3D 10Level9". Donc finalement un jeu DirectX 11, 10 ou 10.1 pourrait se lancer dans n’importe quelles conditions… y compris si aucune carte graphique n’est présente.
Sais pas si c'est le début de concurrence avec la percée de Linux sur les netbooks ou Apple, mais on a l'impression qu'ils ont "bouffés du lion" chez MS !
Ca ne peut que profiter à tout le monde !
Et si ca continue, avec ces annonces régulières, va y avoir des émeutes devant les boutiques à la sortie de Seven !