fpsanalyzr v0.8.15
FpsAnalyzr
Recording and analysis for framerate measurements.
Usage
Constructor
import { FPSAnalyzr } from "fpsanalyzr";
const fpsAnalyzer = new FpsAnalyzr();
setInterval(() => fpsAnalyzer.tick(performance.now()), 1000 / 60);maximumKept
By default, the past 250 tick times are kept.
You can override this by passing in a maximumKept number.
new FpsAnalyzr({
maximumKept: 50,
});tick
Records that a frame tick has happened.
Receives: number representing the current timestamp, in milliseconds.
fpsAnalyzer.tick(performance.now());getAverage
Returns: number for the computed average framerate among stored measurements.
setInterval(() => fpsAnalyzer.tick(performance.now()), 1000 / 60);
setInterval(() => {
const average = fpsAnalyzer.getAverage();
console.log(`Average FPS this second: ${average}.`);
}, 1000);getExtremes
Returns: Object with .highest and .lowest computed framerate among stored measurements.
setInterval(() => fpsAnalyzer.tick(performance.now()), 1000 / 60);
setInterval(() => {
const { highest, lowest } = fpsAnalyzer.getExtremes();
console.log(`FPS this second: from ${lowest} to ${highest}.`);
}, 1000);getMedian
Returns: number for the computed median framerate among stored measurements.
setInterval(() => fpsAnalyzer.tick(performance.now()), 1000 / 60);
setInterval(() => {
const median = fpsAnalyzer.getMedian();
console.log(`Median FPS this second: ${median}.`);
}, 1000);Development
This repository is a portion of the EightBittr monorepo. See its docs/Development.md for details on how to get started. 💖
Running Tests
yarn run testTests are written in Mocha and Chai.
Their files are written using alongside source files under src/ and named *.test.ts?.
Whenever you add, remove, or rename a *.test.t* file under src/, watch will re-run yarn run test:setup to regenerate the list of static test files in test/index.html.
You can open that file in a browser to debug through the tests, or run yarn test:run to run them in headless Chrome.
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
6 years ago
7 years ago
7 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago