diff --git a/packages/core/useFps/index.ts b/packages/core/useFps/index.ts index 101d4946d29..9ba1324a5c2 100644 --- a/packages/core/useFps/index.ts +++ b/packages/core/useFps/index.ts @@ -19,9 +19,10 @@ export function useFps(options?: UseFpsOptions): Ref { let last = performance.now() let ticks = 0 - useRafFn((now) => { + useRafFn(() => { ticks += 1 if (ticks >= every) { + const now = performance.now() const diff = now - last fps.value = Math.round(1000 / (diff / ticks)) last = now diff --git a/packages/core/useTransition/index.ts b/packages/core/useTransition/index.ts index ad538a7eeb9..ec34a74e622 100644 --- a/packages/core/useTransition/index.ts +++ b/packages/core/useTransition/index.ts @@ -170,7 +170,8 @@ export function useTransition( let startVector: number[] // transition loop - const { resume, pause } = useRafFn((now) => { + const { resume, pause } = useRafFn(() => { + const now = Date.now() const progress = clamp(1 - ((endAt - now) / currentDuration), 0, 1) outputVector.value = startVector.map((val, i) => val + ((diffVector[i] ?? 0) * currentTransition.value(progress))) @@ -188,7 +189,7 @@ export function useTransition( currentDuration = unref(duration) diffVector = outputVector.value.map((n, i) => (sourceVector.value[i] ?? 0) - (outputVector.value[i] ?? 0)) startVector = outputVector.value.slice(0) - startAt = performance.now() + startAt = Date.now() endAt = startAt + currentDuration resume()