Package Exports
- @javelin/hrtime-loop
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@javelin/hrtime-loop) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
@javelin/hrtime-loop
A tiny, high-resolution game loop for NodeJS 10+. Utilizes the setImmediate and setTimeout schedulers in conjunction to maintain a balance of precision and performance.
Installation
npm i @javelin/hrtime-loopUsage
import { createHrtimeLoop } from "@javelin/hrtime-loop"
const loop = createHrtimeLoop(clock => {
// (bigint) monotonic time
clock.now
// (number) total number of ticks
clock.tick
// (number) time since last tick in ms
clock.dt
}, (1 / 60) * 1000 /* tick interval (ms) */)
// Start the loop
loop.start()
// Stop the loop
loop.stop()
// Check if loop is running
loop.isRunning()Performance
yarn perf will run performance tests. Example perf output:
tick_interval | 16.666666666666668
ticks | 1000
avg_tick | 16.678785390999984
accuracy | 99.927%
precision | 100.000%