mirror of
https://github.com/lvgl/lvgl.git
synced 2026-05-30 23:51:54 +08:00
perf(draw): only dispatch refreshing disp (#8305)
This commit is contained in:
+6
-7
@@ -213,19 +213,18 @@ void lv_draw_dispatch(void)
|
|||||||
{
|
{
|
||||||
LV_PROFILER_DRAW_BEGIN;
|
LV_PROFILER_DRAW_BEGIN;
|
||||||
bool task_dispatched = false;
|
bool task_dispatched = false;
|
||||||
lv_display_t * disp = lv_display_get_next(NULL);
|
lv_display_t * disp = lv_refr_get_disp_refreshing();
|
||||||
while(disp) {
|
if(disp != NULL) {
|
||||||
lv_layer_t * layer = disp->layer_head;
|
lv_layer_t * layer = disp->layer_head;
|
||||||
while(layer) {
|
while(layer) {
|
||||||
if(lv_draw_dispatch_layer(disp, layer))
|
if(lv_draw_dispatch_layer(disp, layer))
|
||||||
task_dispatched = true;
|
task_dispatched = true;
|
||||||
layer = layer->next;
|
layer = layer->next;
|
||||||
}
|
}
|
||||||
if(!task_dispatched) {
|
}
|
||||||
lv_draw_wait_for_finish();
|
if(!task_dispatched) {
|
||||||
lv_draw_dispatch_request();
|
lv_draw_wait_for_finish();
|
||||||
}
|
lv_draw_dispatch_request();
|
||||||
disp = lv_display_get_next(disp);
|
|
||||||
}
|
}
|
||||||
LV_PROFILER_DRAW_END;
|
LV_PROFILER_DRAW_END;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user