Why does lv_draw_dispatch need to traverse all the disp

The function lv_display_refr_timer() is usually used to bind a display to a timer (lv_timer) for performing the refresh task. Then, lv_display_refr_timer()->refr_area->refr_area_part->draw_buf_flush->lv_draw_dispatch(), in the function lv_draw_dispatch(), why does it need to traverse all the disp? I understand that if there are multiple displays, the lv_display_refr_timer() function should be called multiple times within one frame cycle. Each call will only prepare the drawing tasks for the disp it specifies, and there should be no drawing tasks on other displays. Therefore, my question is why does lv_draw_dispatch need to traverse all the disp and attempt to distribute the drawing tasks?