mirror of
https://github.com/lvgl/lvgl.git
synced 2026-05-25 18:29:26 +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;
|
||||
bool task_dispatched = false;
|
||||
lv_display_t * disp = lv_display_get_next(NULL);
|
||||
while(disp) {
|
||||
lv_display_t * disp = lv_refr_get_disp_refreshing();
|
||||
if(disp != NULL) {
|
||||
lv_layer_t * layer = disp->layer_head;
|
||||
while(layer) {
|
||||
if(lv_draw_dispatch_layer(disp, layer))
|
||||
task_dispatched = true;
|
||||
layer = layer->next;
|
||||
}
|
||||
if(!task_dispatched) {
|
||||
lv_draw_wait_for_finish();
|
||||
lv_draw_dispatch_request();
|
||||
}
|
||||
disp = lv_display_get_next(disp);
|
||||
}
|
||||
if(!task_dispatched) {
|
||||
lv_draw_wait_for_finish();
|
||||
lv_draw_dispatch_request();
|
||||
}
|
||||
LV_PROFILER_DRAW_END;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user