From 9a0761f6dac95875581eb67dd27d3bc573b0ef76 Mon Sep 17 00:00:00 2001 From: raw-designs Date: Tue, 1 Sep 2026 14:01:23 +0200 Subject: [PATCH] =?UTF-8?q?perf(P4):=20Scrollen=20am=20Waveshare-Panel=20f?= =?UTF-8?q?l=C3=BCssiger=20(1.6.8)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit LV_DEF_REFR_PERIOD steuert nicht nur die Bildrate, sondern auch die Abtastrate des Touch und die Schrittweite von Animationen. Mit 33 ms waren das 30 Schritte je Sekunde - beim Ziehen mit dem Finger sichtbar ruckelig. Für das Waveshare-Panel jetzt 16 ms, passend zu dessen 60 Hz. Kommt das Zeichnen nicht hinterher, wird ein Bild später fertig; kaputt geht nichts. Die JC-Panels bleiben unverändert bei 33 ms. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_018QoLDQeUh1dCQz7yYZVb4Y --- P4_Display_Firmware/Changelog.txt | 9 +++++++++ P4_Display_Firmware/config.h | 2 +- P4_Display_Firmware/lv_conf.h | 10 ++++++++++ 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/P4_Display_Firmware/Changelog.txt b/P4_Display_Firmware/Changelog.txt index f6bba66..24ca273 100644 --- a/P4_Display_Firmware/Changelog.txt +++ b/P4_Display_Firmware/Changelog.txt @@ -1,3 +1,12 @@ +Version 1.6.8: +- Scrollen und Wischen laufen am Waveshare-Panel flüssiger: LVGL rechnet dort jetzt im + 16-Millisekunden-Takt statt alle 33 ms. Dieser Wert steuert nicht nur die Bildrate, + sondern auch, wie oft der Touch abgetastet und wie fein eine Animation gerechnet wird - + mit 30 Schritten je Sekunde war vor allem das Ziehen mit dem Finger sichtbar ruckelig. + Das Panel läuft mit 60 Hz, mehr als 16 ms bringt also nichts. +- Kommt das Zeichnen einmal nicht hinterher, wird ein Bild später fertig; kaputt geht + dabei nichts. Die JC-Panels bleiben bei 33 ms. + Version 1.6.7: - Der Menue-Knopf oben links fängt Tipps jetzt auch knapp daneben ab. Mit 48x36 Pixeln war er auf dem 7-Zoll-Panel ein sehr kleines Ziel; gemessen wurde ein Fehlgriff von rund diff --git a/P4_Display_Firmware/config.h b/P4_Display_Firmware/config.h index ad13d26..30b2fd1 100644 --- a/P4_Display_Firmware/config.h +++ b/P4_Display_Firmware/config.h @@ -126,7 +126,7 @@ // ------------------------------------------------------------------------------------- // Firmware // ------------------------------------------------------------------------------------- -#define DISPLAY_FW_VERSION "1.6.7" // Firmware-Stand der P4-Display-Steuerung (Info-Seite) +#define DISPLAY_FW_VERSION "1.6.8" // Firmware-Stand der P4-Display-Steuerung (Info-Seite) // ------------------------------------------------------------------------------------- // Protokoll diff --git a/P4_Display_Firmware/lv_conf.h b/P4_Display_Firmware/lv_conf.h index 698dbca..40d56e8 100644 --- a/P4_Display_Firmware/lv_conf.h +++ b/P4_Display_Firmware/lv_conf.h @@ -91,7 +91,17 @@ *====================*/ /*Default display refresh, input device read and animation step period.*/ +/* Der Wert bestimmt nicht nur die Bildrate, sondern auch, wie oft der Touch abgetastet + * und wie fein eine Animation gerechnet wird. 33 ms sind 30 Schritte je Sekunde - beim + * Ziehen mit dem Finger deutlich als Stocken zu sehen. Das Waveshare-Panel laeuft mit + * 60 Hz, deshalb dort 16 ms; mehr als das Panel zeigen kann, bringt nichts. Kommt das + * Zeichnen nicht hinterher, wird es einfach seltener fertig - kaputt geht dabei nichts. + * Die JC-Panels bleiben bei 33 ms, damit sich ihr Verhalten nicht aendert. */ +#if JC_PANEL_TYPE == WS_PANEL_7H +#define LV_DEF_REFR_PERIOD 16 /*[ms]*/ +#else #define LV_DEF_REFR_PERIOD 33 /*[ms]*/ +#endif /*Default Dot Per Inch. Used to initialize default sizes such as widgets sized, style paddings. *(Not so important, you can adjust it to modify default sizes and spaces)*/ -- 2.54.0