I am upgrading LVGL from 8.3 to 9.1. In my app, there are some image buttons and a background image. when the focus changed from an image button to another, the speed is a little bit slow. When I use LVGL version 8.3, there’s a structure member named full_refresh in structure lv_disp_drv_t. Before I called the function lv_disp_drv_register, set this field as 0 will solve my issue. But on LVGL9.1, there’s no such function and no such structure.In LVGL 9.1, is there an operation that can achieve the same functionality as setting full_refresh to 0 in LVGL 8.3?
https://docs.lvgl.io/9.1/porting/display.html#draw-buffers
There is a render_mode
argument that controls that in the display settings
In my source code, it seems the render_mode will not affect the performance. It seems the background image will affect the performance. If I comment init_bg_image of my code, the focus change speed will be faster. Here’s my init_bg_image function.
void HomeBar::init_bg_image(const char *filepath) {
lv_obj_remove_style_all(m_container);
static lv_style_t style_bg;
lv_style_init(&style_bg);
lv_style_set_bg_img_src(&style_bg, filepath);
int container_width = lv_obj_get_width(m_container);
int container_height = lv_obj_get_height(m_container);
lv_style_set_width(&style_bg, container_width);
lv_style_set_height(&style_bg, container_height);
lv_style_set_bg_img_tiled(&style_bg, true);
lv_style_set_bg_opa(&style_bg, LV_OPA_TRANSP);
lv_obj_add_style(m_container, &style_bg, LV_PART_MAIN);
lv_obj_refresh_style(m_container, LV_PART_MAIN, static_cast<lv_style_prop_t>(LV_STYLE_PROP_ALL));
}