Does LVGL delays display update requests?

Let’s say that I mutate chart data and immediately call lv_task_handler(). Will LVGL always render the pending changes in that call to lv_task_handler() or does it sometime don’t update the screen until it receives additional lv_tick_inc() call(s).

If the answer is yes, is it possible to disable this behavior, forcing LVGL to render changes ASAP on the next call to lv_task_handler()?

(LVGL 7.9.1)

Yes. The screen is redrawn at a fixed frequency (configurable with LV_DISP_DEF_REFR_PERIOD).

To force it to refresh immediately, you can use lv_refr_now(NULL).

Thanks @embeddedt, this is very useful. Both approaches worked but I opted to lv_refr_now(NULL) .to avoid unintended consequences from changing LV_DISP_DEF_REFR_PERIOD to 1ms (currently it’s 30ms).