From fd5683cdc61efa37a1be7b94901f75c5409d2297 Mon Sep 17 00:00:00 2001 From: Albert Cervin Date: Tue, 18 Nov 2025 17:17:14 +0100 Subject: Make sure rendering happens at least 7ms apart Running a lot faster just causes tearing. --- src/dged/reactor-kqueue.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'src/dged/reactor-kqueue.c') diff --git a/src/dged/reactor-kqueue.c b/src/dged/reactor-kqueue.c index d370653..c48e2aa 100644 --- a/src/dged/reactor-kqueue.c +++ b/src/dged/reactor-kqueue.c @@ -34,8 +34,14 @@ void reactor_destroy(struct reactor *reactor) { free(reactor); } -void reactor_update(struct reactor *reactor) { - int events = kevent(reactor->queue, NULL, 0, reactor->events, 16, NULL); +void reactor_update(struct reactor *reactor, int timeout_ms) { + struct timespec timeout = {0}; + if (timeout_ms >= 0) { + timeout.tv_nsec = timeout_ms * 1e6; + } + + int events = kevent(reactor->queue, NULL, 0, reactor->events, 16, + timeout_ms >= 0 ? &timeout : NULL); if (events == -1) { // TODO: what to do here? return; -- cgit v1.2.3