c/multi: Refine some logging messages a bit.

Add some timestamps and extra logging to the frame scheduling code.

Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
This commit is contained in:
Mario Kleiner 2023-04-14 20:54:45 +02:00 committed by Jakob Bornecrantz
parent ae2e7405dd
commit ff9ad4016f

View file

@ -217,16 +217,19 @@ wait_for_scheduled_free(struct multi_compositor *mc)
// Block here if the scheduled slot is not clear. // Block here if the scheduled slot is not clear.
while (v_mc->scheduled.active) { while (v_mc->scheduled.active) {
uint64_t now_ns = os_monotonic_get_ns();
// This frame is for the next frame, drop the old one no matter what. // This frame is for the next frame, drop the old one no matter what.
if (time_is_within_half_ms(mc->progress.data.display_time_ns, mc->slot_next_frame_display)) { if (time_is_within_half_ms(mc->progress.data.display_time_ns, mc->slot_next_frame_display)) {
U_LOG_W("Dropping old missed frame in favour for completed new frame"); U_LOG_W("%.3fms: Dropping old missed frame in favour for completed new frame",
time_ns_to_ms_f(now_ns));
break; break;
} }
// Replace the scheduled frame if it's in the past. // Replace the scheduled frame if it's in the past.
uint64_t now_ns = os_monotonic_get_ns();
if (v_mc->scheduled.data.display_time_ns < now_ns) { if (v_mc->scheduled.data.display_time_ns < now_ns) {
U_LOG_T("%.3fms: Replacing frame for time in past in favour of completed new frame",
time_ns_to_ms_f(now_ns));
break; break;
} }