frame-kit example

Four tiny helpers. Everything here runs offline from the four files next to this page. Sections 2 and 4 have a one-button automatic check that tells you in plain words what happened.

1. EvenDt: raw vs smoothed frame gaps

raw gapsmoothed gap (EvenDt)
learned period 0 ms raw wobble (std) 0 ms smoothed wobble (std) 0 ms
The ball moves by the smoothed gap and never stops, even while the texture below is being built.

2. QualityGovernor: level follows real frame times

average gap 0 ms level 0
Drag the load up: after a short delay the level steps down; set it back to 0 and it climbs again. This demo uses shorter delays than the defaults so you can see it.
idle

3. JobPump: a big texture built in slices

0%
worst frame gap during the last build - ms
idle

4. FrameMeter: speed numbers, and who slowed a frame

waiting for the first report...
idle
The check freezes this page on purpose three times: once inside the animation frame (the game's own work), once between frames (the device or browser), and once right after pause(), the way a hidden tab coming back looks. The meter should name the first as the game, the second as the device, and ignore the third. Leave the other sections idle while it runs.