useMeasureFPS
Track your app’s frames-per-second (FPS) in real-time.
✅ Features
- Real-time FPS calculations
- Useful for animation-heavy or performance-critical apps
- Clean and unobtrusive
📦 Usage
1import { useMeasureFPS } from './useMeasureFPS'; 2 3const fps = useMeasureFPS(); 4 5return <div>FPS: {fps}</div>;
📋 Source Code
This is the full implementation of useMeasureFPS
1import { useEffect, useRef, useState } from 'react';
2
3export function useMeasureFPS(): number {
4 const [fps, setFps] = useState(0);
5 const frameCount = useRef(0);
6 const lastTime = useRef(performance.now());
7
8 useEffect(() => {
9 const loop = () => {
10 const now = performance.now();
11 const delta = now - lastTime.current;
12 frameCount.current++;
13
14 if (delta >= 1000) {
15 setFps(frameCount.current);
16 frameCount.current = 0;
17 lastTime.current = now;
18 }
19
20 requestAnimationFrame(loop);
21 };
22
23 loop();
24 }, []);
25
26 return fps;
27}
28