LVGL 9.4 ESP32-P4 Extremely slow image rendering from filesystem lv_image_set_src(img, "A:/SPIFFS/img.bin")
Posted: Mon Dec 22, 2025 11:08 pm
Hi everyone,
I’m using LVGL 9.4.0 with ESP-IDF 5.5.1 on an ESP32-P4-NANO, and I’m seeing a very large performance gap when displaying images depending on how LVGL accesses them.
I use
ESP32-P4-NANO
Waveshare display 800×1280
PSRAM enabled @ 200 MHz
Filesystem: SPIFFS
LVGL color depth: RGB565
No compression
Same image (800×1280), same format, same display code.
C-array image (compiled into firmware)
lv_image_set_src(img, &img_800x1280);
Displays in < 1 second
Binary image loaded via LVGL filesystem
lv_image_set_src(img, "A:/SPIFFS/img.bin");
Takes more than 10 seconds
Does anyone know why LVGL image loading from filesystem is so slow?
I’m using LVGL 9.4.0 with ESP-IDF 5.5.1 on an ESP32-P4-NANO, and I’m seeing a very large performance gap when displaying images depending on how LVGL accesses them.
I use
ESP32-P4-NANO
Waveshare display 800×1280
PSRAM enabled @ 200 MHz
Filesystem: SPIFFS
LVGL color depth: RGB565
No compression
Same image (800×1280), same format, same display code.
C-array image (compiled into firmware)
lv_image_set_src(img, &img_800x1280);
Displays in < 1 second
Binary image loaded via LVGL filesystem
lv_image_set_src(img, "A:/SPIFFS/img.bin");
Takes more than 10 seconds
Does anyone know why LVGL image loading from filesystem is so slow?