Le moteur graphique du Mac
Résumé : Le moteur graphique Display PostScript de NeXT a été remplacé dans Mac OS X par Quartz, qui s'est progressivement enrichi pour utiliser les capacités des processeurs graphiques.
L'interface graphique de Mac OS X est une des choses qui a été le plus profondément remaniée depuis l'héritage de NeXT ; le bureau assez sévère de NeXT fonctionnait à l'aide d'un moteur graphique Display PostScript qui implique de profonds changements vis à vis du PostScript classique. L'image était décrite en code PostScript (PostScript est un Langage de Description de Pages).
Dans Mac OS X, Jobs introduit un moteur graphique Quartz 2D qui repose sur le format PDF ; au lieu d'être décrite en code PostScript, l'image est générée directement en mémoire bitmap par Quartz 2D ; une façon de contourner les droits de licence très élevés imposés par Adobe, et de ne pas trop s'éloigner du rendu QuickDraw des Macs classiques. Quartz 2D a ensuite évolué vers Quartz Extrême, qui utilise Open GL : de nouvelles fonctionnalités (couche de composition, core Graphics) sont apparues, et le moteur fait maintenant appel aux capacités graphiques des GPUs .
Pour rendre du texte, Quartz utilisait les services ATS, ou ATSUI pour l'Unicode. A partir de Tiger, l'introduction des "core-services" s'est accompagnée de Core Text. L'utilisation de cette API fournit une qualité d'affichage des textes, quelle que soit la langue utilisée, sans commune mesure avec les autres systèmes d'exploitation, qu'il s'agisse de Windows ou de Linux. Comparez simplement les deux figures qui suivent : à gauche, Internet Explorer (IE 7) sous Windows 7 RC, et à droite Safari sous Mac OS X.
Probant, non ? (aussi bien sur la qualité du texte que sur la couleur du fond). Quand je vous disais qu'un Mac, c'est un peu plus cher, mais beaucoup mieux...
Le moteur graphique PDF de Mac OS X a une retombée inattendue et très pratique : il est très facile de transformer n'importe quel document de pratiquement n'importe quelle application qui tourne sur un Mac, en fichier PDF, qui peut ensuite être lu sur n'importe quel système, puisque PDF est devenu, grâce à Adobe Reader (gratuit sur toutes les plateformes) un standard universellement utilisé. Il suffit pour cela d'appeler le menu d'impression (Cmd P), et de choisir "Sauver en PDF". Il est tout aussi facile d'obtenir un document PostScript.
Si vous n'avez pas encore installé l'outil de développement Xcode sur votre Mac, n'hésitez pas à le faire maintenant (c'est gratuit). Non pas pour vous lancer dans le développement (c'est très difficile), mais pour bénéficier de quelques applications supplémentaires fournies par Apple.
Parmi celles-ci, Quartz Composer vous permettra toutes sortes de compositions, graphiques ou non, en utilisant le mode matriciel du rendu de Quartz.
Ne confondez pas Quartz Composer (une application) avec Quartz Compositor, le système de fenêtrage de Mac OS X. Ce service est responsable du placement des fenêtres (représentées en images bitmap) sur l'écran ; il utilise des images bitmap stockées dans une zone mémoire du Mac appelée "backing store", et les positionne dans la mémoire image (frame buffer) de la carte graphique.