perf(P4): Feste Breiten für Anzeigewerte - kein Neulayout mehr (1.9.4) #73

Merged
thomas merged 1 commits from perf/feste-breiten-kein-neulayout into main 2026-09-03 02:56:25 +02:00
Owner

Die Koordinaten haben den Verursacher benannt: Der invalidierte Bereich war x 0..1279, y 44..719 - der komplette Content-Container, bei jeder Zustandsmeldung.

Grund: Die Wert-Labels hatten LV_SIZE_CONTENT. Ändert sich ihre Breite mit dem Inhalt (92,4 °C -> 100,1 °C), löst LVGL ein Flex-Relayout der ganzen Seite aus und invalidiert sie komplett. Change-checked Text allein reicht also nicht - der Text darf beim Ändern auch die Breite nicht ändern.

tempField() und infoCell() setzen die Wert-Labels jetzt auf LV_PCT(100) mit zentriertem Text. Optisch identisch, da die Werte ohnehin mittig standen.

Beide Panel-Varianten mit arduino-cli gegengebaut.

🤖 Generated with Claude Code

Die Koordinaten haben den Verursacher benannt: Der invalidierte Bereich war `x 0..1279, y 44..719` - der komplette Content-Container, bei jeder Zustandsmeldung. **Grund:** Die Wert-Labels hatten `LV_SIZE_CONTENT`. Ändert sich ihre Breite mit dem Inhalt (`92,4 °C` -> `100,1 °C`), löst LVGL ein Flex-Relayout der ganzen Seite aus und invalidiert sie komplett. Change-checked Text allein reicht also nicht - der Text darf beim Ändern auch die Breite nicht ändern. `tempField()` und `infoCell()` setzen die Wert-Labels jetzt auf `LV_PCT(100)` mit zentriertem Text. Optisch identisch, da die Werte ohnehin mittig standen. Beide Panel-Varianten mit arduino-cli gegengebaut. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
thomas added 1 commit 2026-09-03 02:56:24 +02:00
Die Koordinaten haben den Verursacher benannt: Der invalidierte Bereich war
"x 0..1279, y 44..719" - der komplette Content-Container, bei jeder
Zustandsmeldung.

Grund: Die Wert-Labels hatten LV_SIZE_CONTENT. Ändert sich ihre Breite mit
dem Inhalt (92,4 °C -> 100,1 °C), löst LVGL ein Flex-Relayout der ganzen
Seite aus und invalidiert sie komplett. Change-checked Text allein reicht
also nicht - der Text darf beim Ändern auch die Breite nicht ändern.

tempField() und infoCell() setzen die Wert-Labels jetzt auf LV_PCT(100) mit
zentriertem Text. Optisch identisch, da die Werte ohnehin mittig standen.

Beide Panel-Varianten mit arduino-cli gegengebaut.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
thomas merged commit 2e8651bc00 into main 2026-09-03 02:56:25 +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#73