1.0.0-alpha.4 • Published 3 years ago
@javelin/hrtime-loop v1.0.0-alpha.4
@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-loop
Usage
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%
1.0.0-alpha.4
3 years ago
1.0.0-alpha.3
3 years ago
0.22.0
3 years ago
0.21.0
3 years ago
0.21.1
3 years ago
0.20.0
3 years ago
0.19.4
3 years ago
0.19.3
3 years ago
0.19.2
4 years ago
0.19.1
4 years ago
0.19.0
4 years ago
0.18.0
4 years ago
0.17.0
4 years ago
0.16.1-alpha.1
4 years ago
0.16.1-alpha.0
4 years ago
0.16.0
4 years ago
0.15.0
4 years ago
0.14.0
4 years ago
0.13.0
4 years ago
0.12.2
4 years ago
0.12.0
4 years ago
0.12.1
4 years ago
0.11.0
4 years ago
0.10.0
4 years ago
0.9.0
4 years ago
0.8.0
4 years ago
0.7.1
4 years ago
0.7.0
4 years ago
0.6.2
4 years ago
0.6.1
4 years ago
0.6.0
4 years ago
0.5.0
4 years ago
0.4.2
4 years ago
0.4.1
4 years ago
0.4.0
4 years ago
0.3.4
4 years ago
0.3.3
4 years ago
0.3.2
4 years ago
0.3.0
4 years ago
0.3.1
4 years ago
0.2.2
4 years ago
0.2.1
4 years ago
0.2.0
4 years ago
0.1.2
4 years ago
0.1.0
4 years ago
0.0.1
4 years ago