KitForma field notes

Understand browser controller timing and export useful evidence

Separate frame scheduling from hardware polling and end-to-end latency.

Know where the samples come from

The Gamepad API provides the controller state exposed to the browser. This lab reads that state on animation frames while the page is visible. Animation frames follow browser rendering and can be affected by refresh rate, CPU load, power settings and scheduling. They are not a direct stream of every USB or Bluetooth transaction.

The report therefore calls its timing browser snapshot intervals. A shorter median interval does not prove lower controller latency, and a longer gap does not by itself prove a lost hardware report. To measure electrical or end-to-end latency, a different setup with an appropriate reference and measurement method is required.

Watch for gaps and incomplete observation

Intervals above 250 milliseconds are counted so a disrupted run is visible. The session stops when the document is hidden rather than continuing to present background throttling as normal measurement. Disconnects and layout changes also end the record with a stated reason. Inspect that reason before comparing a short or unusual session.

Buttons and axes can change between samples. A brief button press may not appear, and a fast sweep can leave gaps in a trace even when the physical motion was smooth. Slow deliberate motions are more informative for a browser-based inspection. The sample limit bounds memory; it does not establish the controller’s own reporting frequency.

Share a report with the right interpretation

JSON retains the configuration and snapshots needed to reproduce the calculations. CSV provides relative time, numbered axis values, button values and the pressed mask for a spreadsheet or another reader. No device identifier is automatically added, and the lab does not upload either file. Review a report before sharing it.

Use matching protocol and threshold settings for comparisons, and explain connection or software changes separately. The synthetic example is useful for understanding the interface but is never evidence about your own controller. There is no automatic project storage: download what you need, then clear the session or leave the page. Evidence about what the browser observed is useful precisely when its limits remain clear.

The evidence behind the check

Sources & assumptions

Formats, algorithms and supported features are documented below. Check the stated scope and inspect your output before using it.

Reviewed 2026-10-19. Read our methodology or report an issue.

Essential local storage remembers this choice for up to 180 days. Your choice applies to this subdomain. Global Privacy Control and Do Not Track override optional measurement.

Advertising has a separate choice. Use Advertising preferences in the footer to allow or reject the optional guide-page banner.