A fresh and modern FPS component for react.
MIT License
react-fps
is a tool to analyze your apps performance. Simply add the component
or use the exported hook to create your own visualization.
useFps
hook to create your own customized UI.yarn add react-fps
npm i react-fps
This package is built with TypeScript and supports it out of the box.
To use the built in UI component seen above, just use the FpsView
component:
import React from "react";
import {FpsView} from "react-fps";
export function YourComponent() {
// ....
return (
// ...
<FpsView/>
// ...
);
}
By default the component will appear in the upper left corner with a dimension of 140x60 pixels. You can of course modify that via props:
import React from "react";
import {FpsView} from "react-fps";
export function YourComponent() {
// ....
return (
// ...
<FpsView width={240} height={180} left={60} top={80}/>
// ...
);
}
You can also use bottom
and right
to position it relative to those borders.
import React from "react";
import {FpsView} from "react-fps";
export function YourComponent() {
// ....
return (
// ...
<FpsView width={240} height={180} bottom={60} right={80}/>
// ...
);
}
useFps(windowWidth: number): {fps: number[], avgFps: number, maxFps: number, currentFps: number};
windowWidth
defines the number of kept values. So 3
saves the last20
will save the last twenty. This also is the baseNote! windowWidth
roughly equals to seconds passed. So a window of
20
is approximately a window of 20 seconds. But there is absolutely no
guarantee that this will be the case.
fps
is an array of fps numbers. Most recent value is the last one.avgFps
is the average frame rate over the defined window.maxFps
is the maximum frame rate recorded over the defined window.To use the hook, just import it into your component.
import {useFps} from 'react-fps';
function YourComponent() {
const {fps, avgFps, maxFps, currentFps} = useFps(20);
// ....
}
And then you can build the UI visualization of your dreams.
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
git checkout -b feature/AmazingFeature
)git commit -m 'Add some AmazingFeature'
)git push origin feature/AmazingFeature
)Distributed under the MIT License. See LICENSE
for more information.
Johannes Klauss - @JohannesKlauss - [email protected]
Project Link: https://github.com/JohannesKlauss/react-fps
Basis of this package is the react-fps-stats Both are react ports of stats.js. I ported it to use hooks, added a nicer color layout and made it more customizable.