From d27948a155c64d85ad9e4c98e550cd3aebc9cdf3 Mon Sep 17 00:00:00 2001 From: Julian Stirling Date: Sun, 26 Oct 2025 15:22:34 +0000 Subject: [PATCH] Reduce time jitter in simulation. --- .../things/camera/simulation.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/openflexure_microscope_server/things/camera/simulation.py b/src/openflexure_microscope_server/things/camera/simulation.py index 8d027734..8fd4848e 100644 --- a/src/openflexure_microscope_server/things/camera/simulation.py +++ b/src/openflexure_microscope_server/things/camera/simulation.py @@ -305,8 +305,12 @@ class SimulatedCamera(BaseCamera): def _capture_frames(self) -> None: portal = lt.get_blocking_portal(self) + last_frame_t = time.time() while self._capture_enabled: - time.sleep(self.frame_interval) + wait_time = last_frame_t - time.time() - self.frame_interval + if wait_time > 0: + time.sleep(wait_time) + last_frame_t = time.time() try: frame = self.generate_frame() self.mjpeg_stream.add_frame(_frame2bytes(frame), portal)