From ffaf8f29987353a20fb47cfb681b64559f1fbda5 Mon Sep 17 00:00:00 2001 From: David Thompson Date: Mon, 11 Jan 2016 08:45:05 -0500 Subject: game-loop: Process input events before each agenda tick. In practice this wasn't very noticeable, but it is a bad idea to lock input event processing with the frame rate. * sly/game.scm (run-game-loop): Process input events before each call to 'agenda-tick!'. --- sly/game.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sly/game.scm b/sly/game.scm index 722bfc0..6e82b78 100644 --- a/sly/game.scm +++ b/sly/game.scm @@ -97,6 +97,7 @@ unused accumulator time." (cond ((>= ticks max-ticks-per-frame) lag) ((>= lag tick-interval) + (process-events) (agenda-tick!) (iter (- lag tick-interval) (1+ ticks))) (else @@ -124,7 +125,6 @@ time in the game tick accumulator." (dt (- current-time previous-time))) (catch #t (lambda () - (process-events) (let ((lag (update (+ lag dt)))) (draw dt (alpha lag)) (frame-sleep current-time) -- cgit v1.2.3