From 2a95f2949b66d27efd77bffa945505d0a214df54 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Ekl=C3=B6f?= Date: Sat, 21 Dec 2019 00:12:00 +0100 Subject: [PATCH] term: experimental: tweak delay timeouts MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Increase the low timeout, to try to give clients/slaves more time to emit data. Decrease the upper timeout. On average, we should have ~½ frame left until the next frame. So a maximum delay of a whole frame *will* delay the update one extra frame in many cases. Hopefully, the low timeout is still low enough that we don't miss the next frame, on average. --- terminal.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/terminal.c b/terminal.c index 61491810..836785a0 100644 --- a/terminal.c +++ b/terminal.c @@ -183,7 +183,7 @@ fdm_ptmx(struct fdm *fdm, int fd, int events, void *data) /* First timeout - reset each time we receive input. */ timerfd_settime( term->delayed_render_timer.lower_fd, 0, - &(struct itimerspec){.it_value = {.tv_nsec = 1000000}}, + &(struct itimerspec){.it_value = {.tv_nsec = 2000000}}, NULL); /* Second timeout - only reset when we render. Set to one @@ -191,7 +191,7 @@ fdm_ptmx(struct fdm *fdm, int fd, int events, void *data) if (!term->delayed_render_timer.is_armed) { timerfd_settime( term->delayed_render_timer.upper_fd, 0, - &(struct itimerspec){.it_value = {.tv_nsec = 16666666}}, + &(struct itimerspec){.it_value = {.tv_nsec = 16666666 / 2}}, NULL); term->delayed_render_timer.is_armed = true; }