Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?

Wie funktioniert Quartz und Quartz Extreme?

MTN erklärt Fachbegriffe, Teil 5

Die Grafik-Bibliotheken auf Computern haben sich, vereinfacht dargestellt, in drei großen Schritten weiter entwickelt.
Die erste Generation konnte einzelne Bildpunkte adressieren, z.B. (0x0) oder (0x1). Damit war es möglich, Bilder statt nur Text auf dem Bildschirm auszugeben, da jeder Pixel individuell anzusteuern war.

Da dies aber sehr aufwändig und vor allem langsam war, musste schnell eine bessere Möglichkeit her. Diese bestand darin, dass man nicht nur einzelne Bildpunkte ansprechen konnte, sondern gleich Formen zeichnen konnte, so zum Beispiel Kreis(10,10,5,Rot). Diese Funktion würde zum Beispiel einen Kreis mit dem Mittelpunkt (10x10) und dem Radius 5 sowie der Farbe Rot zeichnen. Der Vorteil liegt darin, nicht erst mühevoll eine Kreisfunktion schreiben zu müssen und dass es möglich ist, diese Funktion durch eine Grafikkarte zu beschleunigen.

Quartz, die dritte Generation der Grafik-Bibliotheken, geht allerdings noch einen Schritt weiter. Die Apple-Bibliothek merkt sich, welche Funktionen das Programm verwendet, um so eine Geräte-unabhängige Zeichenschnittstelle zu schaffen (das Programm weiß meist nicht, ob es gerade auf den Bildschirm zeichnet oder die Daten dem Druckertreiber zum Drucken übergibt). Weiterhin hat es den Vorteil, Vektor-Transformationen auf die einzelnen Elemente anwenden zu können. So sind die Effekte wie der Genie-Effekt beim Minimieren eines Fensters ins Dock realisiert worden. Viele erinnern sich wohl noch an die erste öffentliche Demoversion von Mac OS X DP3, in der die neue Aqua-Oberfläche zu bewundern war. Dort zeigte Apple erstmals, wie man ein Teile eines PDF-Dokumentes in Echtzeit drehen konnte. Wenn man Quartz zur Verfügung hat, reicht es, die Matrix des aktiven Fensters (genauer: NSView) zu rotieren, sodass sich der Inhalt dementsprechend verändert.

Ein weiterer großer Vorteil von Quartz ist, dass Teile von Fenstern transparent sein können. Dies ist möglich, da Fenster intern doppelt gepuffert sind. Das heißt, dass nicht wie in Mac OS 1-9 oder Windows direkt auf den Bildschirm gemalt wird, sondern erst in einen Puffer im Arbeitsspeicher, der dann auf den Bildschirm kopiert wird. Das hat den Vorteil, dass beim Verschieben eines Fensters nicht die Applikation gefragt werden muss, den aufgedeckten Bereich neu zu zeichnen, sondern nur ein Kopiervorgang eingeleitet werden muss. So können sich auch transparente Fenster ohne Probleme überlappen, da das Betriebssystem ja den aktuellen Inhalt von Fenstern kennt und nicht erst nachfragen muss. So können auch Fenster in Mac OS X flüssig verschoben werden, ohne dass es ständig zu weißen Flächen in den Fenstern darunter kommt, so wie in den damaligen Copland-Builds und heute noch in Windows.

Schon als Quartz konzipiert wurde, hat Apple an die Möglichkeit gedacht, 3D-Beschleuniger für die Bildschirmdarstellung zu nutzen. Diese können nämlich erheblich schneller aus dem eigenen Video-Speicher auf den Bildschirm zeichnen, als der Prozessor aus dem Arbeitsspeicher Blöcke in den Video-Speicher verschieben kann. Dies funktioniert in Mac OS X 10.2 und 10.3 so gut, dass der Anwender es nur noch an der gesteigerten Geschwindigkeit merkt, dass nun die 3D-Beschleunigerkarte aktiv ist. Apple nannte das Ganze Quartz Extreme. Natürlich setzt Quartz Extreme eine gute Grafikkarte voraus. Es muss unbedingt eine AGP-Grafikkarte sein, da sonst der Geschwindigkeitsvorteil quasi dahin ist (es funktioniert zwar auch ohne AGP, ist aber meist langsamer als ohne Quartz Extreme). Mindestens muss es eine ATI Radeon I mit 16 MB sein oder eine NVidia GeForce 2MX sein, Rage 128 funktionieren nicht.
 
Quartz wird Apple sicher noch viele Möglichkeiten bieten, das heutige Mac OS X zu verbessern. Exposé ist erst der Anfang, der Quartz Graphics Layer bietet noch erheblich mehr Möglichkeiten, die Arbeit mit dem Mac zu erleichtern.