perf(P4): Zeichenpuffer für flüssigen Bildlauf (1.6.25) #53

Merged
thomas merged 1 commits from perf/zeichenpuffer-bildlauf into main 2026-09-02 03:38:44 +02:00
Owner

Nach der Umstellung auf einen Bildspeicher war der Bildlauf sehr zäh. Grund war der Zwischenpuffer: Mit 120 Zeilen brauchte ein Bildlauf über die ganze Seite sechs Durchgänge, jeder mit eigener Übertragung in den Bildspeicher.

  • CONFIG_EXAMPLE_LVGL_PORT_BUF_HEIGHT auf LCD_V_RES: ein Durchgang statt sechs.
  • Zweiter Zeichenpuffer (LVGL_PORT_SECOND_DRAW_BUFFER), damit LVGL den nächsten Bereich zeichnen kann, während der vorige übertragen wird. Dafür eine kleine, markierte Änderung in lvgl_port_v9.c - der Hersteller-Port legt dort nur einen Puffer an.

Kosten 2 x 2,8 MB PSRAM. Das Startverhalten bleibt unberührt: Es handelt sich um Zeichenpuffer, nicht um Bildspeicher der Anzeige - es bleibt bei einem Bildspeicher.

Beide Panel-Varianten mit arduino-cli gegengebaut.

🤖 Generated with Claude Code

Nach der Umstellung auf einen Bildspeicher war der Bildlauf sehr zäh. Grund war der Zwischenpuffer: Mit 120 Zeilen brauchte ein Bildlauf über die ganze Seite sechs Durchgänge, jeder mit eigener Übertragung in den Bildspeicher. - `CONFIG_EXAMPLE_LVGL_PORT_BUF_HEIGHT` auf `LCD_V_RES`: ein Durchgang statt sechs. - Zweiter Zeichenpuffer (`LVGL_PORT_SECOND_DRAW_BUFFER`), damit LVGL den nächsten Bereich zeichnen kann, während der vorige übertragen wird. Dafür eine kleine, markierte Änderung in `lvgl_port_v9.c` - der Hersteller-Port legt dort nur einen Puffer an. Kosten 2 x 2,8 MB PSRAM. **Das Startverhalten bleibt unberührt:** Es handelt sich um Zeichenpuffer, nicht um Bildspeicher der Anzeige - es bleibt bei einem Bildspeicher. Beide Panel-Varianten mit arduino-cli gegengebaut. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
thomas added 1 commit 2026-09-02 03:38:44 +02:00
Nach der Umstellung auf einen Bildspeicher war der Bildlauf sehr zäh. Grund
war der Zwischenpuffer: Mit 120 Zeilen brauchte ein Bildlauf über die ganze
Seite sechs Durchgänge, jeder mit eigener Übertragung in den Bildspeicher.

- CONFIG_EXAMPLE_LVGL_PORT_BUF_HEIGHT auf LCD_V_RES: ein Durchgang statt
  sechs.
- Zweiter Zeichenpuffer (LVGL_PORT_SECOND_DRAW_BUFFER), damit LVGL den
  nächsten Bereich zeichnen kann, während der vorige übertragen wird. Dafür
  eine kleine, markierte Änderung in lvgl_port_v9.c - der Hersteller-Port
  legt dort nur einen Puffer an.

Kosten 2 x 2,8 MB PSRAM. Das Startverhalten bleibt unberührt: Es handelt
sich um Zeichenpuffer, nicht um Bildspeicher der Anzeige - es bleibt bei
einem Bildspeicher.

Beide Panel-Varianten mit arduino-cli gegengebaut.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
thomas merged commit 1a05f8e1b3 into main 2026-09-02 03:38:44 +02:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: thomas/Dual-PID#53