Accueil » Dossier » Accélération 2D : la Voodoo 4 plus forte que les Radeon HD 5800 et GeForce GTX !

Accélération 2D : la Voodoo 4 plus forte que les Radeon HD 5800 et GeForce GTX !

2 : GDI et la 2D, de Windows XP à Windows 7 3 : Rendu graphique 2D via GDI 4 : Symptômes des Radeon HD 5000 sous Win 7 5 : Notre logiciel de benchmark 2D en GDI 6 : Tom2D : texte 7 : Tom2D : lignes 8 : Tom2D : splines / courbes de Bézier 9 : Tom2D : polygones 10 : Tom2D : rectangles 11 : Tom2D : ellipses 12 : Tom2D : blitting 13 : Tom2D : étirement 14 : Conclusion

Introduction

Commençons par le commencement : si vous n’avez pas encore lu notre dossier intitulé La 2D sous Windows : surprise !, nous vous conseillons de le faire avant de continuer. Vous y apprendrez tout ce qu’il y a à savoir sur l’histoire de la 2D sous Windows et les problèmes que rencontrent les cartes graphiques haut de gamme actuelles pour la gérer.

Dans cette deuxième partie, nous nous focaliserons sur l’importance de la GDI, expliquerons plus en détails le rendu graphique en 2D et présenterons notre benchmark 2D. Pour bien faire comprendre les résultats de cet outil de test, nous devons cependant commencer par expliquer certains éléments théoriques fondamentaux.

Image 1 : Accélération 2D : la Voodoo 4 plus forte que les Radeon HD 5800 et GeForce GTX !

Pourquoi testons-nous encore GDI à l’ère de Windows 7 et de Direct2D ?

En réaction à la première partie de cet article, un certain nombre d’entre vous ont répliqué que depuis le lancement de Windows Vista et des cartes graphiques comptables DirectX 10, le rendu 2D via GDI était devenu obsolète. Effectivement, Direct2D et WPF (Windows Presentation Foundation) ont été mis à la disposition des développeurs depuis un moment. Il reste néanmoins à ceux-ci beaucoup de bonnes raisons pour continuer à utiliser la GDI (Graphics Device Interface) ; c’est pourquoi nous allons analyser son comportement et ses performances, et ce, même si Windows 7 semble à première vue avoir changé la donne. Parmi les raisons qui poussent les développeurs à utiliser, aujourd’hui encore, la GDI, citons les suivantes :

  • La GDI est compatible avec les vieilles cartes graphiques alors que Direct2D nécessite une carte compatible DirectX 10 ou supérieur.
  • La GDI est prise en charge par toutes les versions de Windows, tandis que Direct2D n’est disponible que sous Windows Vista et Windows.
  • Toutes les applications graphiques prévues pour fonctionner sous Windows XP (et a fortiori sous une version plus ancienne de Windows) utilisent la GDI.


Il faut ajouter à cela le fait que bon nombre de développeurs sont réticents à l’idée de devoir retravailler leur logiciel afin de tirer parti de nouvelles API. À l’heure actuelle, beaucoup d’entre eux continuent à utiliser les vieilles bibliothèques de programmation qu’ils connaissent et maîtrisent, et ce, même si des technologies plus récentes sont disponibles, simplement parce que passer d’une bibliothèque à l’autre nécessite la réécriture et le test de tout le code affecté. Sachant que les gains en performances apportés par une telle conversion sont bien souvent imperceptibles, on comprend que la raison qui pousse les développeurs à s’y opposer est bien souvent d’ordre économique : cela nécessite trop de temps et de travail pour un résultat insuffisant. Il suffit de jeter un coup d’œil à l’implémentation de Direct2D au sein de divers composants de Mozilla Firefox pour se faire une idée de la lenteur avec laquelle le secteur procède à cette évolution. Par ailleurs, n’oublions pas que pour une entreprise ou un développeur, passer entièrement à Direct2D équivaut à rendre son produit inutilisable pour l’ensemble des utilisateurs de Windows XP, ce qui représente un véritable suicide commercial. Bref, tous ces éléments s’agglutinent et il reste une observation, claire, implacable : la GDI a toutes les chances de continuer à rester incontournable tant que Windows XP ne cessera d’être employé par une part significative de la communauté des utilisateurs finaux.

Outre ces raisons historiques, il y a également une série de raisons techniques qui expliquent la persistance de la GDI. Premièrement, plusieurs des modules de code essentiels de la GDI (ceux qui sont le plus souvent inclus et appelés par les applications Windows) ne sont pas entièrement portables. Deuxièmement, si Direct2D est capable faire tout ce que fait Direct3D, il est gourmand en ressources et en puissance de traitement ; les développeurs qui ont choisi de ne pas opter pour Direct3D l’ont généralement fait après mûre réflexion. Troisièmement, la GDI fonctionne indépendamment des périphériques de sortie utilisés (écrans, imprimantes, etc.) : cela signifie que la même routine permet d’assurer à la fois le rendu sur écran et l’impression, ce qui a l’avantage de diviser par deux la taille du code nécessaire, et donc la maintenance et le risque d’erreur liés à celui-ci. La plupart des imprimantes bon marché actuelles sont des périphériques GDI et il y a peu de chances pour que cela change, même sous Windows 7, qui propose encore une multitude de pilotes pour imprimantes de ce type.

Image 2 : Accélération 2D : la Voodoo 4 plus forte que les Radeon HD 5800 et GeForce GTX !

De la nécessité d’avoir une vision d’ensemble

Nous-mêmes considérons à la fois le passage à WPF et Direct2D comme un pas en avant irréversible et comme une « évolution forcée » dont le moteur est Microsoft, mais tous ceux que les nouvelles technologies ennuient doivent faire l’effort de repenser aux évolutions précédentes (que nous récapitulerons dans les pages qui suivent) : jusque dans Windows XP, on retrouve en effet une énorme quantité de technologie héritée et nous avons atteint le point où, pour continuer à avancer, la seule solution est de faire table rase du passé. Le problème, bien sûr, est qu’une telle approche prend l’utilisateur à rebrousse-poil. Windows XP lui-même n’était pas exempt d’incompatibilités avec le passé, comme l’avait à l’époque montré la phobie dont témoignaient les puces graphiques intégrées aux chipsets AMD 780G et 785G vis-à-vis de cet OS.

Dans cet article, nous allons refaire les tests de la première partie, mais cette fois à l’aide de notre logiciel de benchmark maison, que vous pouvez d’ailleurs télécharger et lancer sur votre PC. Comme nous allons le voir, même les cartes graphiques les plus onéreuses se cassent les dents sur certains de ces tests, pour la simple raison qu’elles sont affectées par des pilotes qui n’ont pas été optimisés pour ce que bon nombre de personnes considèrent comme une « technologie dépassée », alors qu’elle reste encore largement employée.

Sommaire :

  1. Introduction
  2. GDI et la 2D, de Windows XP à Windows 7
  3. Rendu graphique 2D via GDI
  4. Symptômes des Radeon HD 5000 sous Win 7
  5. Notre logiciel de benchmark 2D en GDI
  6. Tom2D : texte
  7. Tom2D : lignes
  8. Tom2D : splines / courbes de Bézier
  9. Tom2D : polygones
  10. Tom2D : rectangles
  11. Tom2D : ellipses
  12. Tom2D : blitting
  13. Tom2D : étirement
  14. Conclusion