Composition-Manager
# Composition-Manager

Ein Composition-Manager ist eine Software, die es ermöglicht, Compositing-Techniken bei Bildschirmausgaben von Computern zu benutzen. Composition-Manager spielen eine besondere Rolle bei der Nutzung hardwarebeschleunigter Effekte auf normalen Desktops. So sind die dort genutzten Eye-Candy-Effekte wie Transparenz, 3D-Darstellung, stufenloses Zoomen und Live-Vorschauen von Videos oder animierten Sequenzen erst mit Hilfe der Composition-Manager möglich.
Der X.Org-Server verwendet, ebenso wie die X-Erweiterungen oder -Abwandlungen Xgl und AIGLX Composition-Manager, um mit Hilfe von OpenGL verschiedene Effekte zu beschleunigen. Verwendete Composition-Manager sind dabei kompmgr, xcompmgr, Compiz, KWin und Metacity (mit Erweiterungen). Dabei sind Compiz, KWin und Metacity auch Fenstermanager. Man bezeichnet solch eine Kombination aus Composition-Manager und Fenstermanager auch als Compositing Window Manager.

## Zweck von Composition-Managern

Beim klassischen X ohne Composition-Manager werden die Fenster einfach nur mit 2D-Grafikfunktionen (in Soft- oder Hardware, d. h. per CPU oder 2D-Grafikprozessor) auf den Desktophintergrund gezeichnet. Dies bewirkte, dass Fenster, wenn sie ganz oder teilweise von anderen Fenstern verdeckt waren, aber sichtbar werden (z. B. weil die oberen Fenster verschoben werden), neu gezeichnet werden müssen (bezeichnet man als damage). Composition-Manager erfüllen demgegenüber die Aufgabe, die Fenster von laufenden Applikationen grafisch zu kombinieren, bevor sie dargestellt werden. Dies führt in der Regel die 3D-Hardware (die Grafikkarte oder die Grafik-Einheit im Chipsatz) durch, die Fenster werden also in Texturen umgewandelt und von der Grafik-Einheit zum Gesamt-Bildschirminhalt kombiniert. Hierdurch wird das manuelle Behandeln der ungültigen Bereiche unnötig, und diese Technik ermöglicht diverse Effekte beim Kombinieren der Fenster, wie z. B. Transparenz oder Animation.

## Beispiele

* Compiz
* KWin
* Mutter
* Desktop Window Manager
* Quartz Compositor