Quartz Compositor
# Quartz Compositor

Der Quartz Compositor ist das Fenstersystem mit -manager von macOS. Seine Hauptaufgaben liegen in der Verwaltung und Darstellung der Fenster und die Vorverarbeitung und Weitergabe von Eingabe-Ereignissen.

Jeder Fensterinhalt wird als Rastergrafik ("bitmap") gespeichert. Es enthält zusätzliche Informationen wie die Position (inkl. Z-Index) und Darstellungsform, den Alpha-Kanal (Transparenz) sowie zur Kantenglättung notwendige Informationen. Die Anwendung stellt ihre Inhalte dar, indem sie ihre Informationen in diese Bitmap schreibt. Dies kann über eine der zuständigen Subsysteme geschehen (Quartz 2D, QuickDraw, OpenGL, Cocoa etc.). Quartz Compositor vereinigt die einzelnen Fenster und berechnet so das angezeigte Bild. Durch diese Methode, die erhaltenen Informationen (Alpha-Kanal) und weiterer Vorverarbeitungsfilter kann die Darstellung sehr effektvoll erfolgen (z. B. Minimierungseffekte, Fensterübersicht, …).

In seiner Rolle als Fenstermanager verfügt Quartz Compositor auch über eine Ereignis-Verwaltung, die Ereignisse (Events) wie Tastenanschläge, Mausbewegungen- und -klicks zwischenspeichert, filtert und weiterleitet. Jedes Programm, welches Fenster darstellt, hat eine eigene Ereignis-Verwaltung, die Quartz Compositor mit den Ereignissen füllt, die seine Fenster betreffen.

## Quartz Extreme

Seit Mac OS X 10.2 ist Quartz Compositor um Quartz Extreme erweitert, wodurch die Grafik mittels OpenGL dargestellt wird. Die einzelnen Fenster sind hierbei Texturen in einem 3D-Kontext. Dadurch werden direkt die beschleunigten Darstellungsfähigkeiten moderner Hardware ausgenutzt, was die Oberflächendarstellung deutlich beschleunigt.

Quartz Extreme hat aber dementsprechend auch höhere Hardwareanforderungen: So setzt Apple, um es zu aktivieren, einen Macintosh voraus, dessen Grafikkarte über wenigstens 16 MB Grafikspeicher verfügt (GeForce 2 MX, ATI Radeon, Intel GMA oder neuer) und über AGP oder PCI Express angesteuert wird. Tatsächlich benötigt Quartz Extreme lediglich eine 3D-Grafikkarte, die Texturen darstellen kann, welche keine Zweierpotenz-Größe haben, es funktioniert also auch mit PCI-Grafikkarten (wie etwa der Radeon 7000/9000) und mit 8 MB Grafikspeicher, allerdings benötigt man das Fremdprogramm PCI Extreme!, um es zu aktivieren, und es kann wegen der hohen Belastung des PCI-Bus zu Beeinträchtigungen etwa beim Abspielen von DVDs kommen.

In Mac OS X Tiger wurde außerdem Quartz 2D Extreme (Q2DE) eingeführt, welches auf vergleichbare Art die Geschwindigkeit der Darstellung von 2D-Elementen steigert und die Darstellungsmöglichkeiten erweitert. Das System gehört zwar zum Lieferumfang, ist aber aus Stabilitätsgründen, und weil es noch nicht durch alle Grafikkartentreiber unterstützt wird, nicht standardmäßig aktiviert. Derzeit muss seine Aktivierung noch über das „Quartz Debug“-Werkzeug erfolgen, einem Teil von Xcode 2.0, und ist nicht dauerhaft, wird beim Herunterfahren also nicht gespeichert. Für eine dauerhafte Aktivierung wäre es notwendig, direkt eine Konfigurationsdatei zu bearbeiten.

