compositor: warn about insane repaint delay
Make the sanity check more explicit and log a warning if it happens. Small negative values are ok because it just means the compositor is lagging behind, or more likely the user specified a too long repaint window. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk> Reviewed-By: Derek Foreman <derekf@osg.samsung.com> Reviewed-by: Bryce Harrington <b.harrington@samsung.com>
This commit is contained in:
parent
0513a95a06
commit
8fd4de458e
@ -2412,8 +2412,18 @@ weston_output_finish_frame(struct weston_output *output,
|
|||||||
msec = (refresh_nsec - timespec_to_nsec(&gone)) / 1000000; /* floor */
|
msec = (refresh_nsec - timespec_to_nsec(&gone)) / 1000000; /* floor */
|
||||||
msec -= compositor->repaint_msec;
|
msec -= compositor->repaint_msec;
|
||||||
|
|
||||||
/* Also sanity check. */
|
if (msec < -1000 || msec > 1000) {
|
||||||
if (msec < 1 || msec > 1000)
|
static bool warned;
|
||||||
|
|
||||||
|
if (!warned)
|
||||||
|
weston_log("Warning: computed repaint delay is "
|
||||||
|
"insane: %d msec\n", msec);
|
||||||
|
warned = true;
|
||||||
|
|
||||||
|
msec = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (msec < 1)
|
||||||
output_repaint_timer_handler(output);
|
output_repaint_timer_handler(output);
|
||||||
else
|
else
|
||||||
wl_event_source_timer_update(output->repaint_timer, msec);
|
wl_event_source_timer_update(output->repaint_timer, msec);
|
||||||
|
Loading…
Reference in New Issue
Block a user