Measure latency from keypress to the screen
The latency problem
We all like it when our computer feels snappy. But what exactly does “snappy” mean? The main factor is latency: the time between pressing a key and observing change on a screen.
On a modern device, many factors contribute to latency: USB drivers, OS, compositor, scheduler, application itself, video driver, monitor, and, after all, physics.
The first step to a snappy computer is measuring the problem. You can’t improve what you can’t measure.
Second is realizing you need an external device to trigger the entire stack: from keypress over USB to the photons on the screen. Can’t be done from within the computer.
This is exactly what we are building: a physical device that can simulate keypresses, then look at the screen and measure the full key-to-photon latency of your entire stack, with all the factors accounted for.
Repeat that many times and you’ll have statistics relevant to your particular hardware and your particular software stack. View results as a graph or export to an open format like CSV.
Who needs this?
Software developers. Are you building an app? Great! Measure how long it takes for your app to react to user input. Automate testing. Compare against competitors. Nimble apps => happy users.
Gamers. Lower latency gives you more time to react. But there are so many factors! Borderless or fullscreen? Double or triple buffering? Frame generation? Anti-lag? Game mode? It changes from game to game, too, and from device to device. So figure out reliably which factors contribute to latency and improve your reaction time.
Regular users. Maybe you just want a fast app for yourself? The most snappy text editor. Or terminal. Or browser. Or messenger. You just like fast animations and quick typing—who doesn’t? Find what works best on your hardware, with your monitor, and on your OS.
Remember: you can’t improve what you can’t measure.
How exactly does Late Mate work?
Late Mate pretends to be two things: a virtual keyboard for the PC it’s plugged into, and a light sensor that you put on your monitor.
- When testing starts, Late Mate will send a sequence of HID events over USB, like constantly typing and erasing the letter ‘X’ (customizable).
- At the same time, Late Mate’s 2000 hz light sensor detects brightness changes under the device.
- The delay between sending key presses and brightness change is measured on the device and reported to the companion application.
- The application presents collected data as a latency distribution chart.
You can customize which events should be sent, how often, how many, adjust for LCD response time, etc.
We also provide you with raw data in CSV form if you want to analyze it yourself.
What’s in the box?
Late Mate will ship with:
- The device itself,
- GUI application for configuration and running measurements,
- CLI application with stable API for CI/automation,
- A Rust crate to help you interface with Late Mate in your tools.
All software we plan to ship will be open source. Firmware will be supported for at least a year and open-sourced after one year in any case.
We are currently finalizing the hardware and software design. We expect shipping to start before Q3 2024.
Subscribe to get project updates and be notified when pre-orders open: