From 74bc7163a2aab002055c7567c9333577d230cb36 Mon Sep 17 00:00:00 2001 From: nvms Date: Mon, 9 Sep 2024 09:39:57 -0400 Subject: [PATCH] adjust fps calc --- packages/ngn/src/ngn.ts | 36 +++++++++++++++++++++--------------- 1 file changed, 21 insertions(+), 15 deletions(-) diff --git a/packages/ngn/src/ngn.ts b/packages/ngn/src/ngn.ts index 4c09c6d..0c081d6 100644 --- a/packages/ngn/src/ngn.ts +++ b/packages/ngn/src/ngn.ts @@ -146,22 +146,28 @@ export const createWorld = () => { * Fake requestAnimationFrame and cancelAnimationFrame * so that we can run tests for this in node. */ - if (typeof window !== "undefined") { - raf = requestAnimationFrame; - craf = cancelAnimationFrame; - } else { - let now = 0; - raf = (cb: FrameRequestCallback): number => { - return setTimeout(() => { - now += 16.67; - cb(now); - }, 16.67) as unknown as number; - }; + if (typeof window !== "undefined") { + let now = performance.now(); + raf = (cb: FrameRequestCallback): number => { + return requestAnimationFrame((timestamp) => { + now = timestamp; + cb(now); + }); + }; + craf = cancelAnimationFrame; + } else { + let now = 0; + raf = (cb: FrameRequestCallback): number => { + return setTimeout(() => { + now += 16.67; + cb(now); + }, 16.67) as unknown as number; + }; - craf = (id: number) => { - clearTimeout(id); - }; - } + craf = (id: number) => { + clearTimeout(id); + }; + } let xfps = 1; const xtimes = [];