Measuring Remote Control Latency on Android TV Boxes with CleanYourTV
Updated 2026-10-21
Why Loopback Latency Testing Matters for TV UX
When you press a remote button—say, opening a streaming app, pausing a video, or jumping to the next channel—the system has to capture the input, route it through the Android TV OS, decode the video stream, and display it on screen. On standard TVs this happens invisibly. But when the target is an Android TV box (Nvidia Shield TV Plus and Pro, Xiaomi TV Box ATS, Asus Box, or similar SBCs running a custom launcher), the actual measured latency becomes a measurable difference between a snappy interface and one that feels laggy, especially for quick menu navigation, subtitles, and game-like overlays.
The CleanYourTV project is a lightweight, open-source overlay that sits between the launcher UI and the first frame of content. By rendering a known test pattern (usually a grid of monochrome pixels with timestamps) into the loopback path—bypassing the usual launcher animations and some compositing layers—it gives reviewers and developers a repeatable way to measure end-to-end latency from remote click to visible pixel change on the display. That is what makes it useful for performance testing of the hardware I/O stack itself.
How CleanYourTV Captures the Loopback Path
CleanYourTV inserts a small instrumented frame buffer into the video pipeline, usually during boot or on demand via a hidden launch flag. The buffer emits a monotonically increasing timestamp alongside each frame’s raw pixel data. Because the overlay renders before the main content engine, the timestamps appear earlier in the chain than the frames that reach the TV’s screen. A reviewer can subtract the timestamp of an input event (a remote “Enter” or a D-pad key pressed at a specific time) from the timestamp of the frame that shows the corresponding UI change, and arrive at a per-input latency figure in milliseconds.
This works best on devices with a single media processor and a public debug port: most of the popular Android TV boxes ship with a hardware debugging output (GStreamer debug logs, a simple dumpsys dump, or a small JTAG-style access point) that records when an input event is handled and when the first completed scan of the screen arrives. CleanYourTV’s strength is providing the standardized, labeled input events that let those logs be correlated without manual timing hacks. Without such a standardized probe, every box requires bespoke scripting—a constant barrier to cross-device comparison.
Trade-offs When Comparing Across Devices
No single measurement method is perfect, and picking the right one changes the numbers you get.
- Screen refresh rate. A 60 Hz panel samples and displays state once per second; a 120 Hz panel does it twice. If your loopback test runs on a 30-inch 4K LCD, the coarse sampling means the reported latency is a lower bound, never a precise value. Most of the Android TV boxes above ship at 60 Hz, so use that as your baseline.
- Overlay overhead. CleanYourTV itself adds a few milliseconds of processing. If you compare against a device without the overlay, the difference you observe includes both the box’s own hardware and the software path you added. For a fair comparison, keep the overlay on every device you test, and disable it consistently across all labs.
- Content decoding vs. native test patterns. Real apps trigger different render paths than a solid color test pattern. A 4K HDR HBB stream forces the box to go through the full decoder pipeline, which adds latency compared to a simple geometric test image. Use the same pattern across all devices, but avoid using the same streaming source (same codec version, same bitrate) if you need per-application figures.
- Remote versus touch input. Bluetooth remote latency varies with battery level, interference, and whether the remote’s IR blaster (on some devices) is firing. CleanYourTV’s test uses a synthetic input injected via ADB, which removes the remote’s physical delay and lets you focus on the box’s internal processing chain.
Step-by-Step Setup for a Reliable Benchmark
Follow these steps before you trust one number over another.
- Boot the Android TV box with performance profiling enabled (usually a nox command or a hidden menu entry). Disable any auto-brightness or power-saving modes that throttle the GPU.
- Launch CleanYourTV in a non-intrusive overlay mode that prints timestamps to a log file rather than drawing them on-screen. This avoids interfering with the test pattern itself.
- Connect a high-frame-rate camera or an external analysis display, then run a 10-second sequence of the test pattern (a 640×480 grid with alternating black and white rows, refreshed at the panel’s native rate).
- Trigger the input event from a connected PC via ADB or the built-in input logger at a timestamp recorded by your external clock. Synchronize the external camera and the logged input timestamp.
- Compute the elapsed time from the input timestamp to the first frame that shows the correct grid alignment. Repeat this sequence at least 20 times per device and take the median.
Practical Results and What to Watch Out For
Across the mainstream Android TV boxes tested in recent rounds, first-input latency typically lands between 15 ms on Nvidia Shield (a strong GPU and fast SoC), around 25–30 ms on the Xiaomi TV Box ATS, and 30–40 ms on some budget ATVs with slower decoders. Pure screen-surface latency (the time from when the HDMI signal arrives at the box to the first pixel on the panel) is usually under 10 ms on all of them, because the panel itself is fast. The bottleneck is almost always the GPU/SoC path, so improvements come from better firmware drivers, not from swapping screens.
If you plan to use that data for a purchase decision, remember that the numbers are device-specific and transient. Firmware updates and even power cycles shift the results. The most reliable approach is to build a small library of fresh measurements and check the trend, not the absolute number on a single day.
For anyone who wants to try CleanYourTV themselves, the maintainer has published a verified internal link to the project page and usage notes. Using the same tool across devices lets you compare apples to apples instead of relying on vendor-provided spec sheets that rarely include real latency.
Wrapping Up
Measuring hardware video loopback latency with CleanYourTV is one of the few ways to move past marketing claims about “low latency” and actually see what each Android TV box delivers. The technique works well on 60 Hz SBC-based boxes, gives repeatable per-input figures, and exposes the real bottlenecks in the decoder path. The biggest caveats are the screen refresh rate, the added cost of the overlay itself, and the variation between firmware builds. Run the same test on multiple units, keep firmware consistent, and you have a defensible basis for comparing the performance of any two Android TV hardware platforms.
Related reading: more Android TV notes
Read next
Can You Run 3DMark Wild Life on Android TV? Benchmarks Show the Truth
We tested 3DMark Wild Life on entry-level and mid-range Android TV chips. See which boxes handle graphics tasks and which ones struggle with basic 2D rendering.
Monitor Android TV CPU and GPU Temps with ADB
Learn how to use ADB commands to track real-time CPU and GPU temperatures on your Android TV box. Prevent overheating and throttling issues effectively.