diff --git a/client/svelte-client/src/components/NetworkSessionWrapper.svelte b/client/svelte-client/src/components/NetworkSessionWrapper.svelte
index f80ba30..524c7de 100644
--- a/client/svelte-client/src/components/NetworkSessionWrapper.svelte
+++ b/client/svelte-client/src/components/NetworkSessionWrapper.svelte
@@ -65,7 +65,7 @@
{:else if session.state === SessionState.RUNNING}
{#if session.type === SessionType.HOST}
-
+
{:else}
diff --git a/client/svelte-client/src/components/TickWrapper.svelte b/client/svelte-client/src/components/TickWrapper.svelte
index 671ed5a..9d65872 100644
--- a/client/svelte-client/src/components/TickWrapper.svelte
+++ b/client/svelte-client/src/components/TickWrapper.svelte
@@ -5,6 +5,7 @@
export let gameFieldStore: GameFieldStore;
export let inputs;
export let killLoopOnError = true;
+ export let throttle = false;
const targetFps = 60;
const frameThreshold = 1_000 / targetFps;
@@ -22,6 +23,14 @@
(function loop() {
frame = requestAnimationFrame(loop);
const now = Date.now();
+ if (!throttle) {
+ const dt = now - lastTime;
+ lastTime = now;
+ elapsed += dt;
+ fn(elapsed / 1_000, dt / 1_000);
+ return;
+ }
+
const dtMs = now - lastTime;
if (dtMs < frameThreshold) {
return;