As i write inside process in lvgl is priority. You still speak about loading big image. I mean lvgl loading nothing, render make copy memory to memory. And format of image is same 16+ALPHA. QSPI flash is of course slower as ram , but for rendering isnt used SPIRAM. My buffer setup is 320 x 30 lines.
example def image part.
0x10,0x82,0xFA,0x10,0x82,0xFA,0x10,0x82,0xFA,0x10,0x82,0xFA,0x10,0x82,0xFA,0x10,0x82,0xFA,0x10,0x82,0xFA,0x10,0x82,0xFA,0x10,0x82,0xFA,0x10,0x82,0xFA,0x10,0x82,0xFA,0x10,0x82,0xFA,0x10,0x82,0xFA,0x10,0x82,0xFA,0x10,0x82,0xFA,0x10,0x82,0xFA,0x10,0x82,0xFA,0x10,0x82,0xFA,0x10,0x82,0xFA,0x10,0x82,0xFA,0x10,0x82,0xFA,0x10,0x82,0xFA,0x10,0x82,0xFA,0x10,0x82,0xFA,0x10,0x82,0xFA,0x10,0x82,0xFA,0x10,0x82,0xFA,0x10,0x82,0xFA,0x10,0x82,0xFA,0x10,0x82,0xFA,0x10,0x82,0xFA,0x10,0x82,0xFA,};
const lv_img_dsc_t ui_img_d01_png = {
.header.always_zero = 0,
.header.w = 740,
.header.h = 120,
.data_size = sizeof(ui_img_d01_png_data),
.header.cf = LV_IMG_CF_TRUE_COLOR_ALPHA,
.data = ui_img_d01_png_data};