Quartz Compositor
Quartz Compositor est un serveur d'affichage (et en mĂȘme temps le gestionnaire de fenĂȘtres de composition) dans macOS . Il est responsable de la prĂ©sentation et de la maintenance des graphiques rendus rastĂ©risĂ©s du reste du framework Core Graphics et d'autres moteurs de rendu de la famille Quartz[1].
Aperçu
La sortie bitmap de Quartz Compositor du Quartz 2D, OpenGL, Core Image, QuickTime ou d'autres processus est écrite dans un emplacement mémoire spécifique ou dans un magasin de soutien . Le compositeur lit ensuite les données des mémoires de sauvegarde et les assemble en une seule image pour l'affichage, écrivant cette image dans la mémoire tampon de trame de la carte graphique. Quartz Compositor accepte uniquement les données raster et est le seul processus qui peut accéder directement au tampon d'image graphique[2].
Lors de la gestion des fenĂȘtres individuelles, Quartz Compositor accepte une image bitmap (matricielle) du contenu de la fenĂȘtre Ă partir de son moteur de rendu, ainsi que sa position. Le choix du moteur de rendu dĂ©pend de l'application individuelle, bien que la plupart des utilisateurs utilisent Quartz 2D. Quartz Compositor agit alors comme une "table de mixage visuelle", en ajoutant la fenĂȘtre donnĂ©e Ă l'ensemble de la scĂšne pour l'affichage.
Dans son rĂŽle de gestionnaire de fenĂȘtres, Quartz Compositor dispose aussi d'une file d'attente d'Ă©vĂ©nements qui reçoit des Ă©vĂ©nements, tels que des frappes de touches et des clics de souris. Quartz Compositor prend les Ă©vĂ©nements de la file d'attente, dĂ©termine quel processus possĂšde la fenĂȘtre oĂč l'Ă©vĂ©nement s'est produit et transmet l'Ă©vĂ©nement au processus[3].
Quartz ExtrĂȘme
Mac OS X v10.2 par Apple a introduit Quartz Extreme : accélération du processeur graphique (GPU) pour Quartz Compositeur. Avec Quartz Extreme, beaucoup moins de cycles d'unité centrale (CPU) sont nécessaires pour la composition de la scÚne. PlutÎt, Quartz Compositeur encapsule chaque magasin de support rendu dans une carte de texture ou une surface OpenGL. Il ordonne ensuite au GPU de composer les surfaces et les cartes pour fournir l'image finale, qui est délivrée au frame buffer.
Quartz Extreme n'utilise que des commandes OpenGL et nécessite une carte graphique connectée à un Port AGP 2X ou plus rapide (y compris AGP 4X, 8X et PCI Express ), prenant en charge les textures et les cartes de taille arbitraire, car de nombreux moteurs de rendu n'ont aucune limitation de taille ( Quartz 2D par exemple)[2]. Dans Mac OS X v10.4, il est automatiquement activé sur les systÚmes Mac avec l'un des types de cartes graphiques suivants[4]:
- AMD (ATI) Radeon, basé sur AGP, 16 Mo de VRAM minimum, ou plus récent
- NVIDIA GeForce2 MX, 16 Mo de VRAM minimum, ou plus récent
Depuis OS X El Capitan, Quartz Extreme est activé sur tous les Mac pris en charge.
QuartzGL
QuartzGL (appelé Quartz 2D Extreme lorsqu'il a été introduit dans Mac OS X Tiger ) est l'accélération GPU pour Quartz 2D API. Avec QuartzGL activé, toutes les commandes de dessin Quartz sont traduites en commandes OpenGL et exécutées sur le GPU. Cela diffÚre de Quartz Extreme, qui exécute toujours les commandes de dessin Quartz sur le CPU mais effectue la composition finale à l'aide du GPU.
Depuis OS X Mountain Lion, QuartzGL n'est toujours pas activé par défaut. Cependant, il est possible de l'activer à l'aide de l'application Quartz Debug incluse dans les outils de développement Apple . QuartzGL sera à nouveau désactivé lorsque vous quitterez l'utilitaire Quartz Debug. Une solution de contournement consiste à forcer la fermeture de l'application Quartz Debug, ce qui laissera QuartzGL activé à l'échelle du systÚme.
Toutes les cartes graphiques qui est capables de prendre en charge Core Image fonctionneront aussi avec QuartzGL.
Articles connexes
Notes et références
- Russell, « What Is Quartz (or Why Can't Windows Do That) » [archive du ], O'Reilly Mac DevCenter, O'Reilly Media (consulté le )
- John Siracusa, « Mac OS X 10.4 Tiger », Ars Technica, (consulté le )
- « Apple - Developer - Mac OS X Technology Overview: Graphics, Imaging, and Multimedia » (consulté le )
- « Apple - Mac OS X 10.4: Requirements for Quartz Extreme and Core Image graphics » [archive du ] (consulté le )
Liens externes
- L'environnement graphique et fenĂȘtrĂ© - Ă partir de la documentation Mac OS X d'Apple (En Anglais, ArchivĂ©)
- Référence des services de quartz (En Anglais)