PROTOPIE / STUDIO XID
Cross-platform Rendering
Das Projekt führte das Rendering von ProtoPies plattformspezifischen DOM- und nativen Ansichten in einer gemeinsamen GPU-Engine zusammen. Ich habe die Architektur und die zentralen Rendering-Pfade eines 2D-Vektorrenderers mit Rust und wgpu entworfen und implementiert.
ENTSCHEIDUNG 02 / RENDER GRAPH
Render Graph
Operationen wie Blur und Compositing verwenden Ergebnisse vorheriger Schritte. Ihre Ausführung muss daher die Abhängigkeiten zwischen Render-Pässen berücksichtigen. Der Render Graph bestimmt die Reihenfolge und verwaltet, wann temporäre Texturen für Zwischenergebnisse benötigt werden.
Die Ausführungsplanung und das Aufzeichnen der GPU-Befehle wurden getrennt. So ließen sich Graph-Aufbau und Backend-Implementierung unabhängig bearbeiten.
ENTSCHEIDUNG 03 / FEHLERBEHANDLUNG
Error Recovery
Wann ein erneuter Versuch sinnvoll ist
Vorübergehende Fehler werden in einem späteren Frame erneut versucht. Hat sich das Render-Ziel geändert, wird es zuerst neu konfiguriert.
Wenn die Eingabe geändert werden muss
Arbeit, die mit derselben Eingabe dauerhaft fehlschlägt, wird erst nach einer Eingabeänderung erneut ausgeführt.