1.0.0-alpha.4 • Published 3 years ago

@javelin/hrtime-loop v1.0.0-alpha.4

Weekly downloads
2
License
MIT
Repository
-
Last release
3 years ago

@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