Quarzkompositor - Quartz Compositor

Quarzkompositor
Betriebssystem Mac OS
Typ
Lizenz Proprietäre Software unter EULA
Webseite web .archive .org /web /20150322043623 /https: //Entwickler .apple .com /technologies /mac /graphics-and-animation .html

Quartz Compositor ist der Anzeigeserver (und gleichzeitig der Compositing-Fenstermanager ) in macOS . Es ist verantwortlich für die Darstellung und Pflege von gerasterten , gerenderten Grafiken aus dem Rest des Core Graphics- Frameworks und anderen Renderern der Quartz-Technologiefamilie .

Überblick

Die Bitmap-Ausgabe von Quartz 2D , OpenGL , Core Image , QuickTime oder einem anderen Prozess wird in einen bestimmten Speicherort oder Backing Store geschrieben . Der Compositor liest dann die Daten aus den Backing Stores und setzt sie jeweils zu einem Bild für die Anzeige zusammen und schreibt dieses Bild in den Bildpufferspeicher der Grafikkarte. Quartz Compositor akzeptiert nur Rasterdaten und ist der einzige Prozess, der direkt auf den Grafik-Frame-Puffer zugreifen kann.

Bei der Verwaltung einzelner Fenster akzeptiert Quartz Compositor ein Bitmap- Bild des Fensterinhalts von seinem Renderer zusammen mit seiner Position. Die Wahl des Renderers hängt von der jeweiligen Anwendung ab, obwohl die meisten Quartz 2D verwenden. Quartz Compositor fungiert dann als "visuelles Mischpult", indem das angegebene Fenster der gesamten Szene für die Anzeige hinzugefügt wird.

In seiner Rolle als Fenstermanager verfügt Quartz Compositor auch über eine Ereigniswarteschlange, die Ereignisse wie Tastenanschläge und Mausklicks empfängt. Der Quartz Compositor nimmt die Ereignisse aus der Warteschlange, bestimmt, welcher Prozess das Fenster besitzt, in dem das Ereignis aufgetreten ist, und leitet das Ereignis an den Prozess weiter.

Quarz Extrem

Mac OS X v10.2 führte Quartz Extreme ein: Grafikprozessor (GPU) Beschleunigung für den Quartz Compositor. Mit Quartz Extreme werden weit weniger CPU-Zyklen für die Szenenkomposition benötigt. Stattdessen kapselt der Quartz Compositor jeden gerenderten Backing-Speicher in eine OpenGL-Textur-Map oder -Oberfläche. Es weist dann die GPU an, die Oberflächen und Karten zusammenzustellen, um das endgültige Bild bereitzustellen, das an den Frame-Puffer geliefert wird.

Quartz Extreme verwendet nur OpenGL-Befehle und erfordert eine Grafikkarte, die an einen AGP 2X- oder schnelleren Bus (einschließlich AGP 4X, 8X und PCI Express ) angeschlossen ist und Texturen und Karten beliebiger Größe unterstützt, da viele der Renderer keine Größenbeschränkung haben ( Quarz 2D zum Beispiel). In Mac OS X Tiger wird es auf Mac- Systemen mit einem der folgenden Grafikkartentypen automatisch aktiviert :

Ab OS X El Capitan ist Quartz Extreme auf allen unterstützten Macs aktiviert.

QuarzGL

QuartzGL (bei seiner Einführung in Mac OS X Tiger Quartz 2D Extreme genannt ) ist die GPU-Beschleunigung für die Quartz 2D-API. Wenn QuartzGL aktiviert ist, werden alle Quartz-Zeichenbefehle in OpenGL-Befehle übersetzt und auf der GPU ausgeführt. Dies unterscheidet sich von Quartz Extreme, das immer noch Quartz-Zeichenbefehle auf der CPU ausführt, aber die endgültige Komposition mit der GPU durchführt.

Ab OS X Mountain Lion ist QuartzGL standardmäßig immer noch nicht aktiviert. Es ist jedoch möglich, es mithilfe der Quartz Debug-Anwendung zu aktivieren, die in den Apple Developer Tools enthalten ist . QuartzGL wird beim Beenden des Quartz Debug-Dienstprogramms wieder deaktiviert. Eine Problemumgehung besteht darin, das Beenden der Quartz Debug-Anwendung zu erzwingen, wodurch QuartzGL systemweit aktiviert bleibt.

Alle Grafikkarten, die Core Image unterstützen können, unterstützen auch QuartzGL.

Siehe auch

Verweise

Externe Links