Problems trying to draw a zoomed image from a .png file (slow rendering)

Description

What MCU/Processor/Board and compiler are you using?

ESP32-S3

What LVGL version are you using?

v8.3.11

What do you want to achieve?

Draw a zoomed image loaded form a .png file in external spi-ram. It draws the image correctly but slower compared to the case of a non-zoomed image. This happens independently of the draw buffer configuration (single or double partial buffer). Checking with an oscilloscope i can see that the new flush_cb is not called immediately after lv_disp_flush_ready function is called but after up to 500 msec. Changing the parent of the image i noticed two different behaviours:

  • if the parent is lv_scr_act() there is a constant delay between each flush_cb function call;
  • if the parent is another object with the same size of the zoomed image, there is a first flush_cb call followed by a long delay and then all others flush_cb calls are close to each other.

I would like the would image to be draw fast.

PS: if i first draw an image (keeping it hidden) and after a delay i un-hide it, the result is the same.

What have you tried so far?

Creating a simple img object and assign a source to it after zooming.

Code to reproduce

Add a code snippet which can run in the simulator. It should contain only the relevant code that compiles without errors when separated from your main code base.

lv_obj_t *ssaver_img = lv_img_create(new_scr);
lv_obj_align(ssaver_img, LV_ALIGN_CENTER, 0, 0);
lv_img_set_zoom(ssaver_img, 134);
lv_img_set_src(ssaver_img, "L:img.png");