diff --git a/packages/fiber/src/core/store.ts b/packages/fiber/src/core/store.ts index a677a36a11..39bc77424b 100644 --- a/packages/fiber/src/core/store.ts +++ b/packages/fiber/src/core/store.ts @@ -253,12 +253,13 @@ export const createStore = ( const clock = get().clock // if frameloop === "never" clock.elapsedTime is updated using advance(timestamp) - clock.stop() - clock.elapsedTime = 0 + if (frameloop === 'never') { + clock.stop() + clock.elapsedTime = 0 + } - if (frameloop !== 'never') { + if (frameloop !== 'never' && !clock.running) { clock.start() - clock.elapsedTime = 0 } set(() => ({ frameloop })) },