Rendering & Anwendungen

Fraktal-Rendering auf der GPU

Die meisten Fraktalpixel lassen sich unabhängig auswerten; Escape-Time-Rendering passt daher natürlich auf die Metal-GPU von Mac und Apple Silicon. Die Herausforderung ist, Tausende Threads sinnvoll zu beschäftigen, wenn Orbits sehr unterschiedlich lange laufen.

Burning-Ship-Fraktal mit roten Inseln auf türkisem Grund
Burning Ship in MandelKit: Der Betrag in der Iteration bricht die Symmetrie der klassischen Mandelbrot-Abbildung.Bild: Björn Kindler / MandelKit · MandelKit · Eigene Darstellung · Own work

Parallele Pixel

Ein Compute-Kernel überträgt Threadkoordinaten in Fraktalkoordinaten und iteriert lokal. Gemeinsame Konstanten beschreiben Ausschnitt, Formel und Darstellung; Ausgabetexturen tragen Orbitfelder in spätere Farb- und Lichtdurchgänge.

Fraktalpixel sind weitgehend unabhängig und passen deshalb gut zu GPU-Threads. Koordinaten, Formelparameter und Farbtabellen werden geteilt; jeder Thread schreibt sein Ergebnis in eine Textur. Die Unabhängigkeit endet bei Effekten mit Nachbarschaft wie Normalen, AO oder Bloom. Diese sollten als getrennte Passes mit klaren Eingaben organisiert werden, damit eine Änderung des Gradienten nicht unnötig die teure Orbitberechnung wiederholt.

Divergenz und ungleiche Last

Schnell fliehende Pixel enden früh, Randpixel verbrauchen möglicherweise das gesamte Iterationsbudget. Gemeinsam ausgeführte Threads können auf den langsamsten Pfad warten. Innenraumtests, adaptive Planung und progressive Kacheln sparen Arbeit, erhöhen aber die Komplexität.

Nahe der Grenze iterieren manche Pixel hunderte Schritte, während Außenpixel nach wenigen fliehen. Threads einer Gruppe warten dann auf den langsamsten Pfad. Kachelklassifikation, periodische Innenprüfung und kompakte aktive Pixel können diese Divergenz mindern, verursachen aber eigenen Verwaltungsaufwand. Profiling an mehreren Regionen entscheidet, ob die zusätzliche Komplexität wirklich gewinnt; ein nur auf der leeren Außenfläche schneller Kernel täuscht.

Schnelle Rückmeldung, vollständiger Abschluss

Während Gesten oder Regleränderungen bewahrt ein gröberer oder schwächer abgetasteter Pass die Reaktion. Nach Ende der Eingabe muss die Verfeinerung ihn durch displaygerechte Ausgabe ersetzen. Eine Vorschaupolitik wird zum Fehler, wenn der Endpass nie geplant oder ständig ungültig wird.

Während einer Geste kann die App mit geringerer Auflösung oder Iteration sofort reagieren. Nach dem Loslassen folgen feinere Passes bis zur nativen Displayauflösung – nicht pauschal Retina, wenn das Zielgerät sie nicht besitzt. Dieser Qualitätszustand muss vom Eingabestatus getrennt sein. Sonst kann ein neuer Sliderwert den Finalpass dauerhaft abbrechen und das Bild auf vierfach gröberem Previewraster stehen lassen.

Apple Silicon und gemeinsamer Speicher

Auf Apple Silicon spricht Metal eine Apple-GPU mit gemeinsamem Speichermodell an: CPU und GPU teilen sich den Systemspeicher, auch wenn die Zugriffsregeln weiterhin vom Speichermodus jeder Ressource abhängen. Das kann Kopiergrenzen reduzieren, macht Orbit-Iteration, hohe Genauigkeit oder große Texturen aber nicht kostenlos. Die macOS-App von MandelKit läuft nativ als arm64 und nutzt diesen Metal-Pfad; die tatsächliche Geschwindigkeit hängt weiterhin von Formel, Zoomtiefe, Iterationen, Ausgabegröße und aktiven Effekten ab.

Gemeinsamer Speicher auf Apple Silicon bedeutet nicht, dass CPU- und GPU-Arbeit identisch oder ohne Synchronisation wären. Metal-Speichermodi bestimmen weiterhin, wer eine Ressource lesen oder schreiben darf und wie sie für GPU-Zugriff optimiert wird. Für einen Fraktalrenderer bleiben begrenzte Arbeitsmengen, passende Texturformate und Messungen auf realen Geräten entscheidend. Native arm64-Ausführung beschreibt dabei die Architektur; sie garantiert weder eine feste Bildrate noch dieselbe Laufzeit auf allen M-Chips.

Quellen und Vertiefung

Die Darstellung fasst die folgenden Fachquellen in eigenen Worten zusammen. Abruf und redaktionelle Prüfung: 12. August 2026.

  1. Metal overviewApple Developer Documentation
  2. Choosing a resource storage mode for Apple GPUsApple Developer Documentation
  3. The Science of Fractal ImagesSpringer