Skip to content

devlog

The benchmark that never started

2026-10-31

The first version sat at 0% forever. The reason was one wrong event name, and the fixes after it made the score more honest.

The benchmark I announced had a problem: the progress bar sat at 0% and no score ever appeared. It listened for an engine event that only fires on a different object, so the code that counts frames never ran once. Nothing errored. It just waited politely forever. One changed event name, and it ran through to the score card.

Then two quieter faults. If the page paused itself mid-run, for instance because the tab lost focus, the run lost its frame listener and froze when you came back. A run now only ends when it finishes, when you press Escape, when you run it again, or when you leave.

The second one mattered more for honesty. I was throwing away any gap over 250 ms as not a real frame. That hid real hitches from the 1% low figure, and a device running under 4 fps never progressed at all. A gap now has to be over a full second before it is ignored, so a slow machine gets a low score and not a stuck bar.

There was one more on the home page: the invisible film caption was sitting on top of the two hero buttons and taking your clicks. A hidden box that still catches the mouse is a very old bug, and I wrote it anyway.