Utilisation de GDI

 

I – Quelles sont les fonctions de GDI ?

GDI a de nombreuses fonctions, comme afficher des lignes, des courbes, obtenir le rendu des polices d’écriture, et la gestion des palettes. En revanche, l’affichage des fenêtres, des menus et autres est réservé au gestionnaire de fenêtres. GDI est l’homologue de Quickdraw chez Apple.

Les capacités les plus signifiantes de GDI parmi la plupart de ses méthodes d’accès direct au matériel sont probablement ses capacités vectorielles, ainsi que sa capacité d’abstraction du matériel de sortie. Utiliser GDI permet de dessiner sur de multiples périphériques (comme des écrans ou des imprimantes) très facilement, et d’en attendre une très bonne reproduction dans tous les cas. Cette capacité est au centre de toutes les applications WYSIWYG de Microsoft Windows. Mais qu’est-ce qu’un WYSIWYG ? Ce mot est l’acronyme de What you see is what you get (Ce que vous voyez est ce que vous obtenez). Un exemple : un texte en gras formaté par un éditeur WYSIWYG sera affiché directement en gras, et non pas avec les balises qui le formatent.

Les jeux simples qui ne demandent pas de rendus graphiques comme Freecell ou le démineur utilisent GDI. Cependant, GDI ne sait pas produire correctement des animations (pas de notion de synchronisation avec le framebuffer) et ne supporte aucune fonctionnalité 3D, contrairement aux API DirectX et OpenGL, qui sont conçues pour exposer les fonctions matérielles 3D aux programmeurs.

Depuis Windows95 et jusqu'à WindowsXP, GDI est en partie accéléré matériellement ; il fait office d'intermédiaire entre l'application et le driver graphique. Sous Windows Vista, le support matériel est abandonné et GDI est alors entièrement logiciel. Puis sous Windows 7, les applications s'exécutant sur le nouveau moteur de composition sont à nouveau accélérées matériellement, au plus proche du matériel.

 

II – Les imprimantes GDI

Les imprimantes GDI (aussi connues sous le nom de Winprinters, s’apparentant aux Winmodems), et en particulier les imprimantes laser GDI, remplacent l'électronique traditionnelle de l’imprimante elle-même par du logiciel sur l’ordinateur hôte.

Elles fonctionnent en transformant l'image d'origine sur l'ordinateur hôte par un format bitmap envoyé à l'imprimante. Cette méthode a un avantage :

  • prix à l'achat : elle évite d'inclure un CPU graphique et de la RAM sur l'imprimante. À relativiser par le fait que la plupart des imprimantes GDI ont des cartouches d'encres sur-facturées par rapport au prix réel (format propriétaire).

Les désavantages sont :

  • augmentation de la charge de travail sur le PC hôte au moment de l'impression. Sur des machines récentes, cela ne pose pas de problème mais sur des plus anciennes (de 200 à 500 MHz) l'impression peut s'avérer très lente ;
  • lenteurs, puisque même pour "quelques caractères", il faut parfois envoyer une page complète, l'imprimante n'effectuant aucune interprétation ;
  • les imprimantes GDI n'incluent pas d'émulations dans leur firmware (ni la possibilité de les ajouter ultérieurement). Par conséquent, quand avec des imprimantes PCL ou PostScript, l'utilisateur peut configurer son driver à volonté, il peut se retrouver très limité avec une imprimante GDI ;
  • les imprimantes GDI ne fonctionnent que sur des systèmes Windows ;
  • elles n'utilisent aucun standard, chaque fabricant d'imprimante devant écrire son propre pilote avec ses propres règles. D'où une fiabilité beaucoup plus faible que pour les imprimantes PostScript ou PCL.

La plupart des imprimantes à jet d'encre récentes fonctionnent à base de GDI (principalement pour des questions de performances alors que les problèmes de coût sont plus liés aux imprimantes laser), mais la tendance est d'y ajouter plus de flexibilité : beaucoup fonctionnent désormais sur Mac et la communauté Linux crée de plus en plus de drivers compatibles.

II – Quelles sont les fonctions de GDI ?

GDI+ est une API introduite avec Windows XP et Windows Server 2003. Il s'agit d'une API offrant des fonctionnalités de plus haut niveau que GDI, ainsi qu'une meilleure qualité de rendu. GDI+ est en partie basé sur GDI dont il utilise certaines fonctions.

À titre d'exemple, et non exhaustivement, GDI+ supporte : un affichage anti-aliasé, le traçage de formes vectorielles simples, le support de dégradés de couleur, le support des formats PNG et JPG ainsi que la gestion de transformations affines 2D.

Revers de sa puissance, GDI+ est entièrement logiciel, ne profitant d'aucune accélération matérielle, au contraire de GDI qui est en partie accéléré matériellement.

Pas de commentaire.

Ajouter un commentaire