Nous avons pu nous entretenir avec Dwight Diercks, vice président du développement logiciel chez NVIDIA à ce sujet. L'occasion pour le californien de nous expliquer les difficultés liées au support de Windows Vista mais aussi de clarifier certains points notamment au niveau de sa politique en matière de publication de nouveaux pilotes.
Dwight Diercks : Windows Vista exige un tout nouveau modèle de pilote graphique, ce qui est déjà en soit un beau challenge. Toute la couche du pilote passe en effet de l'espace noyau au mode utilisateur ce qui a rendu les choses encore plus complexes. Le nouveau modèle de pilote change de plus le mode de gestion de l'affichage basique et supprime d'anciennes portions de code présentes dans le pilote depuis l'époque de NT 4.0 ! La vidéo haute-définition (Blu-ray et HD-DVD) dispose également d'une toute nouvelle architecture pour l'accélération matérielle et la technologie NVIDIA SLI pour DirectX 9 et DirectX 10 ajoute encore à la complexité du travail à fournir et au volume de code requis pour que la puce graphique travaille de manière efficace.
Nous avons des dizaines de millions d'utilisateurs de nos pilotes XP et nous maintenons deux large bases de pilotes ce qui se traduit par une complexité supplémentaire au niveau du développement logiciel. Croyez-moi, c'est un sacré challenge !
Clubic.com : Depuis combien de temps travaillez-vous sur le développement de pilotes pour Windows Vista et quels étaient les principaux objectifs ?
D. D. : Nous nous sommes activement investi dans le développement de pilote pour Windows Vista depuis deux ans et demi. Nous avons dépensé l'équivalent de 350 années homme sur les pilotes Vista. Notre priorité ? La stabilité pour les GeForce 6, 7, 8 et les chipsets nForce 4, 5 et 6.
Clubic.com : Combien de personnes composent l'équipe de développement des pilotes ?
D. D. : C'est difficile de chiffrer exactement combien d'ingénieurs sont parti prenante dans le processus. Nous avons plus de 1000 personnes ici qui écrivent, testent ou travaillent avec les éditeurs de logiciels sur la compatibilité ou encore qui écrivent nos pilotes.
Clubic.com : Quelles étaient les exigences pour développer le premier pilote DirectX 10 pour GeForce 8 ? Quels ont été les problèmes les plus importants durant le développement ?
D. D. : NVIDIA est la première compagnie à soumettre un matériel à la certification WHQL DirectX 10 de Microsoft. Obtenir une certification WHQL pour une nouvelle API est souvent un challenge car au fur et à mesure des tests vous allez découvrir des problèmes où vos pilotes sont en cause alors que pour d'autres c'est le test qu'il faut changer. Nous avons exploré de nouveaux territoires avec DirectX 10 et cela prend du temps de délivrer une stabilité optimale. Mais une fois que c'est fait, cela s'appliquera à toutes nos prochaines puces DirectX 10.
D. D. : NVIDIA travaille étroitement avec Microsoft pour finaliser un pilote DirectX 10 certifié WHQL d'ici la fin février. L'architecture du GeForce 8800 offre une belle marge de progression pour les performances et un certain nombre de nos ingénieurs travaillent exclusivement à débloquer son plein potentiel dans les semaines et les mois à venir.
Clubic.com : Quel est l'impact de l'architecture de shaders unifiés sur le cycle de développement des pilotes ?
D. D. : L'architecture unifiée fait plusieurs choses pour nous. Son impact le plus important est qu'elle a un effet de levier à la fois sur notre base de code pour ce produit mais aussi pour la famille de produits qu'amènera le GeForce 8800. En prime l'architecture unifiée fait que vous n'avez plus à optimiser séparément les pixels shaders et les vertex shaders ce qui devrait améliorer l'expérience des joueurs.
Clubic.com : Est-ce que les pilotes DirectX 10 du GeForce 8 dépassent actuellement les spécifications de Microsoft pour DirectX 10 ? En clair, y a-t-il déjà des petits morceaux de DirectX 10.1 ?
D. D. : Il y a naturellement des fonctions du 8800 qui ne font pas partie de DirectX 10. DirectX 10.1 est toujours en cours d'élaboration, donc nous ne pouvons faire aucun commentaire pour le moment.
Clubic.com : Extérieurement, il semble que vous ayez eu de sérieux problèmes pour publier les premiers pilotes GeForce 8 sous Vista. Pourquoi ? Y a-t-il eu des problèmes pour implémenter des fonctions comme le filtrage anisotropique ou l'anticrénelage ?
D. D. : Les puces graphiques sont probablement parmi les périphériques les plus programmables au monde, et le niveau de complexité pour les programmer croît chaque année. La famille GeForce 8 ajoute de nouvelles exigences de pilote pour DirectX 10 en plus du besoin de supporter DirectX 9. Comme mentionné plus haut, la prise en charge de PureVideo ou du SLI ajoutent encore à la complexité.
Nous disposons d'une équipe entière qui examine tous les problèmes rencontrés sous Windows Vista. Nous considérons chacun des problèmes comme critiques et il n'y a pas une seule cause ou un seul correctif qui va tout corriger. Par exemple nous avons un problème avec la numérotation de nos pilotes pour Vista car elle est listée comme une version 1.00. Un nombre important de jeux vérifient le numéro de pilotes et ne se lancent tout simplement pas lorsqu'ils voient ce numéro de version. Dans certains jeux nous avons des problèmes qui dépendent en partie des Cartes sons. Et bien sûr nous avons notre lot de bugs à corriger dans nos pilotes. Nous travaillons dur pour les éliminer un à un.
Clubic.com : Pour le moment le SLI n'est pas supporté par les pilotes GeForce 7 tandis que le SLI ne fonctionne qu'en mode DirectX 9 avec les GeForce 8. Y a-t-il des difficultés particulières pour implémenter le SLI sous Vista ?
D. D. : Le SLI n'est qu'une partie de l'équation. Sous Windows XP nous avions besoin de créer deux composants de pilote principaux : un pour le rendu DirectX et l'autre pour l'OpenGL. Avec Vista nous avons du développer six pilotes différents : un pour les cartes DirectX 9 seules, un pour les systèmes SLI DirectX 9, un pour les cartes DirectX 10 seules, un pour le SLI en DirectX 10, un pour le rendu OpenGL avec une seule carte, et enfin un pour le rendu OpenGL en SLI.
Notre pilote Vista compte 20 millions de lignes de code ! C'est autant que pour Windows NT4... L'étendue du projet est large mais nous aimons relever les grands défis ! Nous fournirons un support complet du SLI pour les GeForce 7 en mars et un support du SLI en DirectX 10 dès avril.
Clubic.com : Les utilisateurs GeForce 8 se plaignent de nombreux problèmes de stabilité avec les premiers pilotes Vista. Combien de bugs sont ouverts dans votre base de données ? Quand publierez-vous le prochain pilote ?
D. D. : Les premiers pilotes Vista utilisés par certains étaient des pilotes non officiels. Les pilotes ForceWare 100.59 ont été publiés le 31 janvier et ils sont stables pour la plupart des utilisateurs. Il faut garder à l'esprit que c'est la première fois depuis dix ans que nous avons un tout nouveau système d'exploitation et une nouvelle architecture, les deux simultanément. L'intégralité de l'interface logicielle entre le système d'exploitation et le pilote a dû être modifiée. Malgré tout, nous publierons à la fin du mois un pilote GeForce 8800 certifié WHQL.
Clubic.com : Votre concurrent direct, ATI/AMD, propose depuis des années déjà un nouveau pilote chaque mois. Pourquoi n'adoptez vous pas un tel calendrier ?
D. D. : Nous proposerons une nouvelle version de nos pilotes ForceWare pour Vista au moins tous les mois. Et si nous trouvons des problèmes significatifs, qu'il s'agisse de bugs ou de problèmes de compatibilité avec des jeux, nous proposerons des nouvelles versions encore plus fréquemment. Comme évoqué plus haut, nous aurons un pilote supportant le SLI et PureVideo HD pour les GeForce 7 en mars et en avril nous aurons un pilote supportant le SLI DirectX 10 et PureVideo HD pour les GeForce 8.
D. D. : Toutes les fonctions que nous proposions sous XP ne sont plus nécessairement utiles sous Vista. Windows Vista dispose en effet de nouvelles fonctions natives et nous cherchons uniquement à compléter les fonctions du système en fonction des besoins de nos utilisateurs et de nos clients OEM (les fabricants de PC). Pour l'instant notre objectif est d'améliorer la qualité de nos pilotes plutôt que d'ajouter des fonctions. NVKeystone est pour le moment sacrifié.
Clubic.com : L'an dernier vous avez lancé l'interface graphique Sedona pour vos pilotes. Allez-vous la mettre à jour de façon à ce qu'elle soit plus proche de Vista ?
D. D. : L'interface utilisateur de nos pilotes va effectivement être mise à jour, non seulement pour se rapprocher de l'expérience Vista mais aussi pour répondre aux demandes des joueurs en matière d'accessibilité à certaines fonctions.
Clubic.com : Allez vous proposer à l'avenir un pilote unifié pour les GeForce 6/7/8 ou continuer de proposer des versions différentes ?
D. D. : Nous continuons à supporter l'architecture unifiée de pilotes UDA pour tous nos futurs Processeurs graphiques. Les produits qui sont matures et n'ont plus besoin de nouvelles fonctions sont supprimés de nos actuelles branches ForceWare. Par exemple les produits GeForce 6/7/8 sont supportés par les ForceWare 100 alors que les GeForce FX le sont par la version 95.
Clubic.com : Pourquoi les derniers pilotes ForceWare pour Windows Vista ne supportent pas les GeForce FX ?
D. D. : Les derniers pilotes certifiés WHQL supportant les GeForce FX sous Windows Vista sont les ForceWare 96.85, ils sont téléchargeables sur notre site ici en version x86 et là en version x64.