Was aus einem kleinen Mikrocontroller herausgeholt werden kann, zeigt das Projekt Jet eindrucksvoll. Die eingebettete 3D-Engine läuft auf einem ESP32-S3 inzwischen mit rund 70.000 Dreiecken pro Sekunde – und das bei einer Darstellung mit 480 × 320 Pixeln, 16 Bit Farbtiefe und 60 FPS.
Noch vor wenigen Monaten lag die Leistung bei etwa 40.000 Dreiecken pro Sekunde. Durch weitere Optimierungen und den Einsatz von SIMD-Techniken konnte die Performance nun deutlich gesteigert werden.
70.000 Dreiecke pro Sekunde
Jet ist eine speziell für eingebettete Hardware entwickelte 3D-Engine. Trotz der begrenzten Ressourcen des ESP32-S3 unterstützt das Projekt bereits anspruchsvollere Grafikeffekte.
Dazu gehören unter anderem:
- Screen-Space-Reflections
- Distortion-Effekte
- 3D-Geometrie in Echtzeit
- 60 FPS bei 480 × 320 Pixeln
- bis zu rund 70.000 Dreiecke pro Sekunde
Die Leistungssteigerung schafft gleichzeitig zusätzlichen Spielraum für komplexere Szenen und detailliertere Modelle.
Optimierungen und SIMD
Der Entwickler PhonicUK konnte die Leistung gegenüber dem bisherigen Stand von rund 40.000 auf fast 70.000 Dreiecke pro Sekunde erhöhen.
Neben allgemeinen Optimierungen kamen dabei auch SIMD-Techniken zum Einsatz. Dadurch können bestimmte Berechnungen effizienter ausgeführt werden, was bei einer 3D-Engine auf einem Mikrocontroller einen deutlichen Unterschied machen kann.
Jetzt unter MIT-Lizenz
Eine weitere wichtige Änderung betrifft die Lizenz.
Jet stand bisher unter der AGPL, wurde nun aber auf die wesentlich freizügigere MIT-Lizenz umgestellt. Dadurch gibt es deutlich weniger Einschränkungen bei der Verwendung der Engine in eigenen Projekten.
Das dürfte insbesondere für Entwickler interessant sein, die Jet als Grundlage für eigene ESP32-Projekte verwenden möchten.
Jet auf dem ESP32-S3
Dass ein vergleichsweise kleiner Mikrocontroller eine 3D-Engine mit Echtzeit-Reflexionen und Verzerrungseffekten bei 60 FPS betreiben kann, zeigt eindrucksvoll, wie weit die Grafikmöglichkeiten moderner Mikrocontroller inzwischen reichen.
Und die Entwicklung von Jet ist offenbar noch nicht abgeschlossen. Mit der neuen Performance von rund 70.000 Dreiecken pro Sekunde steht künftig noch mehr Spielraum für komplexere 3D-Szenen zur Verfügung.
📥 Download & Quellcode: Jet auf GitHub
