LVGL is very slow - STM32F7 SSD1963 P16 - Advice on how to optimise it?
What MCU/Processor/Board and compiler are you using?
Nucleo 144 STM32F767ZI
What LVGL version are you using?
7.11.0
What do you want to achieve?
I want to increase performance for LVGL running on a Nucleo 144 F767ZI with a 7" SSD1963 display, currently the speed for scrolling/ animations is too slow.
What have you tried so far?
I have tried adjusting the display driver (my_disp_flush) and increased the refresh rate but cant seem to speed things up
I have also tried disabling the ICache and DCache in case that was slowing things down.
Code to reproduce
This draws everything correct but is very slow
void my_disp_flush(lv_disp_drv_t *disp, const lv_area_t *area, lv_color_t *color_p)
{
uint16_t c;
tft.setWindow(area->x1, area->y1, area->x2, area->y2 ); // set the working window
for (int y = area->y1; y <= area->y2; y++) {
for (int x = area->x1; x <= area->x2; x++) {
c = color_p->full;
tft.pushColor(c, 1);
color_p++;
}
}
lv_disp_flush_ready(disp); // tell lvgl that flushing is done
}
Screenshot and/or video
Video attached
Nucleo 144 LVGL demo video.zip
Nucleo 144 LVGL demo video.zip (2.3 MB)