Compositing: Was es ist, Ebenen und Funktionsprinzip

Autor: IT Sectr Veröffentlicht: 2026-06-12 Lesezeit: 10 Min.

Compositing ist der Prozess des Zusammenführens mehrerer visueller Ebenen (layers) zu einem einzigen endgültigen Bild. Laut der Apple Core Animation Dokumentation, 2025 wird Compositing in der mobilen Entwicklung zum Überlagern von UI-Ebenen, zum Kombinieren von 3D-Renderings mit der Oberfläche und zum Erstellen von Animationen verwendet. Compositing steuert die Zeichenreihenfolge, Transparenz und Farbmischung zwischen den Ebenen.

Wichtige Punkte

  • Compositing — Zusammenführen einzelner visueller Ebenen zu einem endgültigen Bild.
  • Alpha blending — der primäre Mischalgorithmus, der die Transparenz von Ebenen berücksichtigt.
  • GPU compositing — wird auf der GPU durch Blending-Operationen von ROP-Blöcken ausgeführt.
  • Core Animation (iOS) und HWUI (Android) — Compositing-Systeme in mobilen Betriebssystemen.
  • Optimierung des Compositing ist entscheidend für flüssige UI und Animationen bei 60 FPS.

Was ist Compositing?

Compositing ist die letzte Stufe der Grafikpipeline, in der alle separat gerenderten Ebenen (3D-Szenen, UI-Elemente, Video, Systemoberfläche) zu einem einzigen Bild für die Bildschirmanzeige zusammengeführt werden. Jede Ebene kann ihre eigene Farbe, Transparenz (Alpha), Position und Stapelreihenfolge haben.

Im Kontext der mobilen Entwicklung ist Compositing für die Benutzeroberfläche wichtig: Fenster, Schaltflächen, Text, Symbole — all diese Elemente werden zu einer einzigen Szene komponiert. Das Compositing-System verwaltet die Zeichenreihenfolge (z-order), die korrekte Überlagerung halbtransparenter Elemente und die Übergangsanimation zwischen UI-Zuständen.

Compositing in der Grafikpipeline

In der Grafikpipeline findet Compositing statt, nachdem alle Shader-Durchläufe und die Rasterisierung abgeschlossen sind. Die GPU nimmt fertige Ebenen aus Framebuffern, wendet Blending-Operationen an und schreibt das Ergebnis in den Hauptframebuffer (Front Buffer) zur Ausgabe an den Bildschirm.

Wie funktioniert Compositing?

Compositing verwendet pixelweises Mischen (Blending) von Farben aus verschiedenen Ebenen. Jedes Pixel des Ausgabebildes wird basierend auf den Pixelfarben der überlagerten Ebenen unter Berücksichtigung der Transparenz (Alpha-Kanal) und des ausgewählten Mischmodus berechnet.

Alpha-Kanal und Transparenz

Jede Ebene enthält einen Alpha-Kanal (die vierte RGBA-Farbkomponente), der ihre Deckkraft bestimmt. Alpha = 1,0 — vollständig deckend, Alpha = 0,0 — vollständig transparent. Alpha blending berechnet die Pixelfarbe als gewichtete Summe der Farben der vorderen (Source) und hinteren (Destination) Ebene: Ergebnis = Source * Alpha + Dest * (1 - Alpha).

Zeichenreihenfolge (Painter-Algorithmus)

Compositing wird von der entferntesten zur nächsten Ebene (back-to-front) ausgeführt. Zuerst wird die Hintergrundebene gerendert, dann wird jede nachfolgende Ebene unter Berücksichtigung ihrer Transparenz über die vorherige gelegt. Z-order bestimmt, welche Ebene oben liegt und die darunterliegenden abdeckt.

Compositing-Algorithmen

Compositing unterstützt verschiedene Mischmodi (Blend Modes), die bestimmen, wie die Farben der Ebenen kombiniert werden. Jeder Modus erzeugt einen anderen visuellen Effekt und hat seine eigenen Berechnungskosten.

ModusFormelAnwendung
Normal (Alpha)src * a + dst * (1 - a)Standardüberlagerung mit Transparenz
Additivesrc + dstGlüheffekte, Partikel
Multiplysrc * dstSchattierung, Schatten
Screen1 - (1 - src) * (1 - dst)Aufhellung, Glanzlichter
Premultiplied Alpha(src.rgb * a) + dst * (1 - a)Leistung (ohne Laufzeitmultiplikation)

Premultiplied Alpha

Im Premultiplied-Alpha-Modus werden die Farbkanäle bereits multipliziert mit dem Alpha-Kanal gespeichert (RGB × A). Dies macht die Multiplikation bei jedem Blending-Vorgang überflüssig und beschleunigt das Compositing. Premultiplied Alpha ist das Standardformat für GPU-Compositing in iOS Core Animation und Android HWUI.

Compositing in mobilen Betriebssystemen

Jedes mobile Betriebssystem hat sein eigenes, für seine Hardwareplattformen optimiertes Compositing-System. Compositing in mobilen Betriebssystemen ist für die Darstellung der gesamten Benutzeroberfläche verantwortlich.

iOS: Core Animation + Metal

Unter iOS wird Compositing von Core Animation verwaltet — einem hochwertigen System, das auf Metal oder OpenGL ES läuft. Core Animation erstellt einen Layer Tree (Ebenenbaum), der dann zum endgültigen Bild komponiert wird. Core Animation ermittelt automatisch, welche Ebenen sich geändert haben, und zeichnet nur diese neu (inkrementelles Compositing), wodurch die GPU-Last minimiert wird.

Android: SurfaceFlinger + HWUI

Unter Android wird Compositing von SurfaceFlinger durchgeführt — einem Systemdienst, der Oberflächen (Surfaces) verschiedener Anwendungen und der System-UI zusammenführt. SurfaceFlinger verwendet HWC (Hardware Composer), um einen Teil der Compositing-Arbeit an die dedizierte Hardware des Display-Controllers zu delegieren.

Compositing-Leistung

Die Compositing-Leistung ist ein häufiger Engpass in mobilen Anwendungen, insbesondere bei komplexen Animationen und vielen halbtransparenten Ebenen. Jede zusätzliche Ebene erfordert das Lesen, Mischen und Schreiben von Pixeln in den Speicher.

Faktoren, die die Leistung beeinflussen

  • Anzahl der Ebenen — jede Ebene erfordert einen separaten Blending-Durchlauf. Die Reduzierung der Ebenenanzahl beschleunigt das Compositing linear.
  • Ebenenauflösung — Ebenen mit hoher Auflösung erhöhen die Anzahl der verarbeiteten Pixel. Verwenden Sie die kleinstmögliche Offscreen-Puffergröße.
  • Transparenz und Overdraw — halbtransparente Ebenen erfordern das Lesen darunterliegender Pixel, was die Bandbreite erhöht.
  • CPU-Compositing — wenn Compositing auf der CPU durchgeführt wird (Software-Rendering), sinkt die Leistung drastisch. GPU-Compositing ist immer vorzuziehen.

GPU-Compositing vs. CPU-Compositing

Moderne mobile Geräte führen Compositing auf der GPU über spezialisierte Blending-Einheiten durch. GPU-Compositing verwendet parallele ROP-Einheiten und Texturfilter für schnelles Pixel-Blending. CPU-Compositing wird nur in seltenen Fällen (alte Geräte, Tests) verwendet.

Compositing-Optimierung

Die Compositing-Optimierung ist eine der Hauptaufgaben bei der Entwicklung mobiler Oberflächen. Die Flüssigkeit der UI (60 FPS) hängt direkt von der Effizienz der Ebenenkombination ab.

Wichtigste Optimierungsmethoden

  • Ebenenminimierung — Zusammenführen statischer Ebenen zu einer (Layer Flattening) durch Vorab-Rendering.
  • Undurchsichtige Ebenen — undurchsichtige Ebenen benötigen kein Alpha Blending, was das Compositing erheblich beschleunigt.
  • Inkrementelles Compositing — Neuladen nur geänderter Ebenen, nicht der gesamten Szene (von Core Animation verwendet).
  • Hardware Composer — Verwendung von HWC für Hardware-Compositing ohne GPU-Beteiligung.

Profiling-Tools

Zur Analyse der Compositing-Leistung verwenden Sie: Core Animation Profiler (Xcode Instruments) — zeigt die Anzahl der Ebenen und die Compositing-Häufigkeit; GPU Debugger (Android Studio) — zeigt GPU-Last und Overdraw; Overdraw Visualization — ein Debugging-Tool, das Bereiche mit mehrfachem Pixel-Neuladen anzeigt.

Häufig gestellte Fragen

Was ist Compositing in einfachen Worten?

Compositing ist wie das Übereinanderlegen mehrerer transparenter Folien mit Zeichnungen zu einem Bild. Jede Folie ist eine Ebene (Schaltfläche, Hintergrund, Text), und die Transparenz bestimmt, wie die Ebenen durcheinander sichtbar sind.

Was ist der Unterschied zwischen Rendering und Compositing?

Rendering — Erstellung des Inhalts jeder Ebene (Zeichnen einer Schaltfläche, Texturieren eines 3D-Modells). Compositing — Zusammenführen fertiger Ebenen zum endgültigen Bild unter Berücksichtigung von Transparenz und Stapelreihenfolge.

Wie beeinflusst Compositing die iOS-Leistung?

Core Animation komponiert Ebenen auf der GPU über Metal. Probleme treten bei einer großen Anzahl halbtransparenter Ebenen (Overdraw) oder bei CPU-Compositing (Off-Screen-Rendering) auf. Verwenden Sie Core Animation Profiler zur Diagnose.

Was ist Hardware Composer in Android?

Hardware Composer (HWC) ist ein Hardwaremodul des Display-Controllers, das Compositing ohne Belastung der GPU durchführt. HWC kann bis zu 4-8 Ebenen hardwaremäßig kombinieren, was den Stromverbrauch reduziert und die GPU für andere Aufgaben freigibt.

Wie reduziert man die Compositing-Last?

Fassen Sie statische Ebenen zusammen (Layer Flattening), verwenden Sie wo möglich undurchsichtige Farben, reduzieren Sie Offscreen-Puffergrößen und vermeiden Sie unnötige Animationen, die eine Neukomposition der gesamten Szene verursachen.

Zusammenfassung

  • Compositing — die letzte Stufe der Zusammenführung aller visuellen Ebenen zum endgültigen Bildschirmbild.
  • Alpha blending — der primäre Farbmischalgorithmus unter Berücksichtigung von Transparenz (RGBA).
  • Premultiplied alpha — das Standard-GPU-Compositing-Format, das unnötige Multiplikationen eliminiert.
  • Core Animation (iOS) und SurfaceFlinger (Android) — Compositing-Systeme mobiler Betriebssysteme.
  • Anzahl halbtransparenter Ebenen — der Hauptfaktor, der die Compositing-Leistung beeinflusst.
  • Hardware Composer — Android-Hardwareblock für Compositing ohne GPU.
  • Optimierung umfasst Layer Flattening, Verwendung undurchsichtiger Ebenen und inkrementelles Compositing.

Wir entwickeln eine mobile Applikation schlüsselfertig

IT Sectr entwickelt seit 2017 iOS- und Android-Apps für Startups und Unternehmen. Wir beraten Sie und schlagen die beste Lösung vor.

Projekt besprechen

Lesen Sie auch