Microsoft Windows Vista : le dossier

Par
Le 30 janvier 2007
 0

Pilotes WDDM, DirectX 10 et autres changements dans l'affichage


Nous l'évoquions à l'instant, les Cartes Graphiques disposent sous Windows Vista d'un tout nouveau modèle de pilote. Anciennement baptisé LDDM, le modèle de pilote en question répond dorénavant au nom de WDDM pour Windows Display Driver Model et nous est ici proposé en version 1.0. Reposant en grande partie sur DirectX, le pilote WDDM reprend le principe de cloisonnement avec le noyau du système. La plupart des fonctions du pilote graphique s'exécutent donc en mode utilisateur, ce qui permet, en cas de plantage, de simplement redémarrer le pilote (et non la machine) pour réinitialiser la puce 3D. Dans le pire des cas, Windows peut basculer directement sur le pilote SVGA par défaut, le temps pour l'utilisateur de faire une mise à jour de son pilote 3D. Mais l'une des grandes nouveautés du modèle WDDM est sans conteste la notion de partage de la puce graphique, une notion qui n'existe pas sous Windows XP. Pour la première fois, le GPU est considéré comme un véritable coprocesseur graphique partagé de manière non exclusive entre les applications.

Puisque les applications peuvent se partager le GPU, le noyau en charge de l'affichage se dote d'un ordonnanceur alors que Microsoft inaugure un nouveau système de gestion des fenêtres. Vista passe dorénavant par le Desktop Window Manager qui fait que chaque application n'affiche plus directement sa fenêtre à l'écran mais plutôt sur une surface virtuelle. Les différentes surfaces sont alors brassées par le mécanisme de composition, alias Desktop Composition Engine, afin de finalement constituer le bureau. Celui-ci sera recomposé dynamiquement plusieurs fois par seconde, à l'instar du contenu des fenêtres ce qui permet d'obtenir des effets sympathiques comme la prévisualisation du contenu des fenêtres lorsque celles-ci sont réduites à l'état de boutons dans la barre des tâches, ou encore de faire tourner simultanément plusieurs jeux 3D en mode fenêtré. Intelligent, le Desktop Window Manager ne dessine que les pixels qui ont effectivement changé, évitant ainsi de gaspiller les ressources de la machine lors de la recomposition du bureau. Pour préserver la compatibilité avec certains types d'applications, le Desktop Window Manager peut toutefois être désactivé.

000000f000412124-photo-microsoft-windows-vista-desktop-windows-manager.jpg

Extrait d'une conférence WinHEC au sujet du Desktop Window Manager


0000006400378612-photo-logo-microsoft-directx-10.jpg
Côté DirectX, Vista intègre non seulement Direct3D9, mais également une version légèrement améliorée baptisée Direct3D9 Ex et servant de base à la fameuse interface graphique Aero, ainsi que DirectX 10. Dixième version de la bibliothèque de programmation dédiée aux développeurs de jeux, DirectX 10 a déjà été décrit abondamment à l'occasion de notre article sur le GeForce 8800 que vous pouvez consulter ici. Faisant table rase du passé, et n'intégrant plus aucun support pour les fonctions fixes des puces graphiques, ce qui explique au passage la présence de DirectX 9.0 dans Vista au titre de la compatibilité descendante, DirectX 10 inaugure le Shader Model 4.0 et adopte un modèle d'instructions unifiées. La bibliothèque de programmation profite également des nuanciers de géométrie, ou Geometry Shaders, qui permettent de créer de la géométrie directement depuis la puce graphique, cette dernière ne se contentant plus de la manipuler. DirectX 10, qui n'est pas disponible sous Windows XP, renferme bien sûr d'autres nouveautés comme la possibilité d'adjoindre à la mémoire vidéo de la carte graphique une certaine quantité de mémoire virtuelle qui sera stockée soit sur le fichier de pagination du disque dur soit dans la mémoire vive de la machine. Sachez enfin que les premiers jeux tirant parti de DirectX 10 devraient sortir dans le courant de l'année 2007 avec notamment le très attendu Crysis.

0000011800411989-photo-windows-vista-rtm-fr-11.jpg

Le module de diagnostic de DirectX 10


Et l'OpenGL ?


Durant le développement de Windows Vista, le support de l'OpenGL a été une source d'inquiétude constante. L'OpenGL, c'est cette API graphique libre dont l'intégration dans le système de Microsoft remonte tout de même à l'OSR 2.0 de Windows 95 ! Problème, en revisitant toute la chaîne graphique de son système d'exploitation, Microsoft a tout basé sur Direct3D, ne laissant peu ou pas de place aux autres composants. Dès lors, si Windows Vista intègre bien l'OpenGL, ce dernier s'appuie maintenant sur Direct3D et ne peut plus accéder directement à la puce graphique : en clair le système effectue une conversion des commandes OpenGL vers Direct3D, ce qui entraîne forcément une chute des performances graphiques.

Autre étrangeté, alors que les versions 1.5 et 2.0 d'OpenGL sont disponibles depuis des lustres, Microsoft a retenu la version 1.1 pour l'intégrer à Vista (soit la même version que celle incluse dans Windows XP). Et si ces difficultés n'étaient déjà pas suffisantes, l'exécution d'une application OpenGL en mode fenêtré pose problème au mécanisme de gestion des fenêtres : celui-ci doit être désactivé ce qui entraîne également la désactivation de l'interface Aero. Logique, puisque le Desktop Window Manager se base sur le partage du GPU entre les applications, alors que l'OpenGL demande l'exclusivité de la surface d'affichage. Bref, il semble évident que l'OpenGL est maltraité sous Windows Vista et l'on pourrait même se demander si Microsoft n'a pas tout fait pour promouvoir sa propre API Direct3D !

000000f000412115-photo-opengl-et-windows-vista-dx.jpg

Le pipeline graphique de Vista : prise en charge de DirectX et OpenGL


Fort heureusement, il existe une solution permettant de contourner les limitations imposées par Vista, mais celle-ci est à la charge des fabricants de puces graphiques. Elle passe par l'installation d'un pilote ICD (Installable Client Driver) qui permet au logiciel OpenGL d'accéder directement à la puce graphique sans passer par une émulation via Direct3D. Windows Vista reste d'ailleurs compatible avec les pilotes ICD conçus pour Windows XP mais ceux-ci provoquent la désactivation du Desktop Window Manager. Les deux géants de la 3D que sont ATI et NVIDIA devront donc fournir un pilote OpenGL compatible WDDM qui permettra de profiter d'une véritable accélération matérielle mais également des dernières extensions OpenGL tout en étant compatible avec le Desktop Window Manager. Avec un tel pilote, l'interface Aero restera disponible lorsque vous lancez une application OpenGL en mode fenêtré alors que les performances seront au rendez-vous.

En attendant, sur une machine Windows Vista finale avec une GeForce 7900 GTX et le pilote natif de Microsoft, le jeu Open GL Doom 3 réussit tout de même à démarrer. C'est une bonne surprise, sauf que les réglages graphiques sont inopérants avec un rendu qui fait tout simplement peur (voir la capture de gauche ci-dessous). De plus, dès qu'on essaye de monter la résolution ou d'activer un niveau de détail supérieur, le jeu finit par planter avec un retour au bureau et un message de la console Doom 3. L'installation des pilotes NVIDIA Beta qui circulent sur la toile permet fort heureusement de remédier à cette situation pour retrouver un fonctionnement normal des jeux Open GL. Carton rouge en revanche pour ATI dont le dernier CATALYST 6.12 dans sa version dédiée à Vista n'intègre toujours pas de pilote ICD, ni même d'ailleurs de prise en charge du CrossFire, mais là NVIDIA ne fait pour le moment pas mieux, le SLI étant aux abonnés absents. Gageons toutefois que la situation évoluera rapidement que ce soit chez ATI ou NVIDIA, le premier travaillant sur de nouveaux pilotes CATALYST, le second étant sur le point de donner naissance aux ForceWare de la série 100, les premiers pilotes véritablement conçus pour Windows Vista.

000000f000414835-photo-windows-vista-rtm-fr-doom-3-ogl-natif.jpg
000000f000414842-photo-windows-vista-rtm-fr-opengl-2-icd-nvidia.jpg

A gauche Doom 3 sur une GeForce 7900 GTX avec le pilote natif Windows Vista, à droite le même jeu avec les pilotes Beta NVIDIA sous Windows Vista
Modifié le 18/09/2018 à 14h31
Cet article vous a intéressé ?
Abonnez-vous à la newsletter et recevez chaque jour, le meilleur de l’actu high-tech et du numérique.

Les dernières actualités

scroll top