fps-emitter/README.md

75 строки
1.5 KiB
Markdown
Исходник Обычный вид История

2016-06-29 23:49:18 +03:00
fps-emitter
===========
Measures the FPS (frames per second) on the current page and emits the
result whenever it changes. Designed to be run in the browser.
2016-07-06 00:45:57 +03:00
2.8kB minified+gzipped.
2016-06-29 23:49:18 +03:00
Install
-------
Via npm:
npm install fps-emitter
Or via npmcdn:
```html
<script src="https://npmcdn.com/fps-emitter/dist/fps-emitter.min.js"></script>
```
Usage
-----
```js
var FpsEmitter = require('fps-emitter')
var fps = new FpsEmitter()
// Get the current FPS, as an integer between 0 and 60:
var currentFps = fps.get()
// Or get notified whenever it changes:
fps.on('update', function (newFps) {
console.log('FPS is: ', newFps)
})
```
2016-07-06 00:19:35 +03:00
### Update interval
By default, samples are collected every 1000 milliseconds. You can change this
either in the constructor or via a runtime API:
```js
var fps = new FpsEmitter(2000); // Update every 2000 milliseconds, from the start
fps.setUpdateInterval(2000); // Change the update interval at runtime
```
### EventEmitter
2016-06-29 23:49:18 +03:00
This is an [EventEmitter](https://nodejs.org/api/events.html#events_class_eventemitter)
that only emits one event, `'update'`.
Standard idioms like `on()`, `.once()`, and `removeListener()` all apply.
2016-07-06 00:19:35 +03:00
### Debug vs production mode
2016-06-29 23:49:18 +03:00
Once you call the constructor (`new FpsEmitter()`), it starts tracking the global FPS using
`requestAnimationFrame()`. Simply measuring the FPS has the potential to cause slowdowns, so
you may want to disable it in production:
```js
if (DEBUG_MODE) {
var fps = new FpsEmitter()
// etc.
} else {
// do nothing
}
```
Testing
-------
npm install
2016-07-06 00:45:57 +03:00
npm test