display_gif_embedded: 15.4 -> 20.6 fps

- FPS/refresh/decode counter via LVGL monitor_cb (printed once per second)
- LVGL logging off, per-loop memory prints removed, loop delay 5 -> 1 ms
- double draw buffer (render while previous chunk is flushed)
- compile with -O2 instead of -Os

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
patriandClaude Opus 5.5 committed 2026-10-23 00:51:23 +02:00
1 parent 4e63fb65c6
commit 70114f73aa
5 files changed
+70 -39

No files matched your search

@@ -10,6 +10,7 @@
#define SCREEN_RES_VER 360
static lv_color_t *disp_draw_buf;
static lv_color_t *disp_draw_buf2; // second buffer: LVGL renders into one while the other is sent to the LCD
static lv_disp_draw_buf_t draw_buf;
static lv_disp_drv_t disp_drv;
static lv_indev_t *indev_touchpad;
@@ -418,8 +419,9 @@ void scr_lvgl_init()
size_t lv_cache_rows = 72;
disp_draw_buf = (lv_color_t *)heap_caps_malloc(lv_cache_rows * SCREEN_RES_HOR * 2, MALLOC_CAP_INTERNAL | MALLOC_CAP_8BIT);
disp_draw_buf2 = (lv_color_t *)heap_caps_malloc(lv_cache_rows * SCREEN_RES_HOR * 2, MALLOC_CAP_INTERNAL | MALLOC_CAP_8BIT);
lv_init();
lv_disp_draw_buf_init(&draw_buf, disp_draw_buf, NULL, SCREEN_RES_HOR * lv_cache_rows);
lv_disp_draw_buf_init(&draw_buf, disp_draw_buf, disp_draw_buf2, SCREEN_RES_HOR * lv_cache_rows);
lv_disp_drv_init(&disp_drv);
disp_drv.hor_res = SCREEN_RES_HOR;