What we measure

Numbers off a bench, not off a datasheet.

Measured on our current hardware, 24 August 2026, against a 1080p Windows target. Acceptance figures are taken the same way on the customer's own equipment, because a figure like this belongs to the whole path and no two paths are identical.

Action to visible, lower is better
High Performance AMI
42 ms
Off-the-shelf KVM
175 ms
espkvm, ESP32-P4
200 ms
A person reactingfor scale
~250 ms
0100200ms
Frame rate at 1080p, higher is better
High Performance AMI
60 fps
Off-the-shelf KVM
25 fps
espkvm, ESP32-P4
7 fps
0204060fps
How often the agent receives a fresh view. Latency is how long it waits for the effect of one action; frame rate is how quickly it can watch something change. A person has no equivalent, so there is no reference row here.

Every machine path beats a person, which is the bar that matters for leaving one running. Ours is roughly six times faster than the person it stands in for.

Measured paths taken 24 August 2026 at 1080p on a Windows target: an action taken, then the first moment the picture changes. The human row is the usual 200 to 300 ms simple visual reaction time from the literature, drawn as an outline because it is a reference and not something we measured here.

espkvm is another team's open-source project and a capable one. Its upstream quotes 20 fps at 1080p; 7 fps is what we measured on our own bench with its encoder at 97 to 100 percent, so our figure is one rig's result and not their claim.

Setting up the other two

The off-the-shelf KVM and espkvm paths are both documented in the open. Walkthroughs for each are in the agentkvm repository: setup-nanokvm.md and setup-espkvm.md. Apache-2.0, nothing gated. High Performance AMI is the one we build and deploy.

What this does not prove

The figure belongs to the whole path, not to any one part of it. Ours moved most on changes away from AMI itself, which is why the acceptance measurement is taken on the customer's equipment rather than quoted from ours.
At 60 fps nothing is visible until the next frame, so the measurement carries up to 16.7 ms of its own. The true figure is somewhere between about 25 and 42 ms.
Around 13 ms of the 42 is waiting that would happen with a person at the keyboard too. Neither part belongs to AMI.