畫質升級指南 RETRO UPSCALE GUIDE · HK

How to Measure Input Lag at Home Using the Camera Method and a Leo Bodnar Tester

Two ways to measure your setup's total lag: the free camera method using the 240p test suite against a CRT, or a Leo Bodnar or Time Sleuth device for millisecond accuracy.

Measure Input Lag at Home Retro Gaming: The 240p Test Suite and a Phone Camera Beat a Lab

You do not need a broadcast lab or a $1,200 oscilloscope to measure input lag at home. The 240p test suite's flashing bar pattern, shot with your phone's high-speed shutter at 240 fps or higher, gives you a millisecond-accurate number against a single CRT reference screen. That is the entire trick the Shmups Forum community has used for a decade. It costs nothing beyond the ROM.

The camera method works because a CRT draws its image with zero framebuffer delay, so it shows you exactly when the console sent the frame. Your modern panel's processing delay is then the difference between that baseline and when the bar appears on the screen. This guide walks you through that manual test, then the Leo Bodnar and Time Sleuth boxes that give you a number without squinting at a phone, and finally how to apply the result to a RetroTINK, OSSC, or MiSTer setup so you know exactly where your milliseconds go.

How to measure input lag at home (camera method, Leo Bodnar)
NASA/JPL-Caltech/K. Stevenson (Univ. of Central Florida) , Public domain via Wikimedia Commons

Leo Bodnar Lag Tester Retro Consoles: What It Actually Measures

The Leo Bodnar Video Signal Input Lag Tester (model LB-VSLT-01) is a small HDMI-to-HDMI box that outputs a 1080p @ 60 Hz test pattern and uses a built-in photodiode to detect when the screen changes luminance, comparing that to the sent video frame. It reports display lag in milliseconds from a middle-screen bar. That is its entire job: it measures the display's delay, not your controller polling, not the scaler's processing, not the HDMI handshake.

For retro consoles you connect the tester between your scaler's output and the TV. The number you get includes the scaler's latency plus the display's, but excludes the controller and console entirely. The device is made by Leo Bodnar Electronics in the UK. Its limitation is precisely what makes it easy: it gives you a single honest display-latency figure with no setup. If you want to know whether your SNES pad adds lag, you need the MiSTer SNAC method instead.

Comparing Scalers With The Bodnar

For a scaler comparison, run the tester once with the RetroTINK 5X-Pro in frame-lock mode (around 0.25-1 ms) and once with the OSSC in line-double mode (under 1 ms). You will see the delta the Shmups Forum database has measured across dozens of screens.

Camera Method Input Lag Test: How to Do It Without Expensive Gear

The camera method requires a phone or camera capable of at least 240 fps, a controller with a visible LED or an on-screen cue, and the 240p test suite's manual lag test with its flashing bar pattern. The principle is frame counting: film the screen and the controller simultaneously, then advance frame by frame to count how many frames pass between the controller input and the on-screen response.

At 240 fps each frame is about 4.2 ms, so your resolution is rough. At 1000 fps you get 1 ms resolution. A modern iPhone shoots 240 fps, so expect ±2 frames of human error. The standard test software is the 240p test suite itself, which shows a flashing white bar moving across a black background. Adjust the bar's position until it aligns with a reference marker; the offset is your lag in scanlines or milliseconds. Rock Band 2 and Guitar Hero have a built-in lag calibration screen that serves the same purpose. The test suite is the standard because it is free and runs on any console with a flashcart. Set your camera to manual focus and fixed exposure to avoid auto-adjustment artifacts, and shoot the whole chain: controller LED, then the TV's response. This measures the total from button press to pixel, which is the number that actually matters for a shmup.

240p Test Suite Manual Lag Test: Step-by-Step on a CRT Baseline

To run the 240p test suite manual lag test correctly, you need a CRT reference screen as your zero-lag baseline. The Sony PVM-20L5 supports 240p through 1080i and is the benchmark against which scaler CRT filters are judged.

Connect your console directly to the PVM via RGB SCART or component video, load the suite, and go to the lag test screen. The suite displays a scrolling bar with a numeric readout. Adjust the bar's position until it appears stationary relative to a fixed marker; the number shown is your display's lag in scanlines. Divide that by the scanline count of a 240p frame and multiply by 16.7 ms to get milliseconds. On a CRT, the result should read 0-1 ms because the electron beam draws the image as it arrives with no framebuffer.

Measuring A Modern Panel

Now swap the screen to your modern TV with the same console and cable, and repeat the test in the TV's Game Mode versus its standard mode. The delta between those two readings, say 14 ms in Game Mode versus 48 ms outside it, is the panel's contribution. It is the single most important number for a competitive player. The suite also includes a plasma flash test and a scrolling test for geometry. The lag screen is the one that matters for this measurement.

Time Sleuth Scaler Latency Measurement: Open-Source Accuracy

If manual frame counting feels too error-prone, the Time Sleuth is the open-source alternative to the Leo Bodnar. Its design and accuracy are credited to the Shmups Forum community that developed it. The Time Sleuth is a small PCB with an HDMI input and a photodiode sensor. Feed it a known test pattern from the 240p test suite, point its sensor at the screen, and it measures the delay between the pattern being sent and the luminance change on the panel.

Unlike the Leo Bodnar, which outputs its own 1080p pattern, the Time Sleuth measures whatever signal you give it. You can pass a RetroTINK 5X-Pro or OSSC output through it and get the scaler's latency in isolation. The reported accuracy is comparable to the Bodnar at around 0.5 ms. The device is fully open-source with schematics published for hobbyists to build their own.

Measuring Scaler Latency In Isolation

For a scaler measurement, connect the source (say a MiSTer FPGA outputting 240p), then the scaler under test, then the Time Sleuth to the screen's input. The reading includes the scaler's processing but not the display, so you subtract the display's known value from a separate measurement. The Shmups Forum maintains a database of Time Sleuth results across scalers and TVs. The RetroTINK 4K's sub-millisecond frame-lock figure of 0.25-1 ms comes from exactly this kind of testing.

CRT Reference Display Zero-Lag Baseline: Why It Is the Ruler

Every measurement protocol here depends on a CRT reference screen zero-lag baseline, so you need to understand why a CRT is the ruler. A CRT draws its electron beam line by line. The phosphor glows immediately as the beam hits it, with no framebuffer to hold the image. The time between the console sending a video line and that line appearing on screen is the signal's travel time: essentially zero milliseconds for our purposes.

The Sony PVM-20L5 is the gold standard because it accepts 240p, 480i, 480p, and 1080i natively via RGB or component. You can use it as a reference for any retro console without a converter. When you measure input lag with the camera method, first measure the whole chain (controller to CRT) and then the whole chain (controller to modern TV). The difference is the TV's added latency, since the console and controller are identical. Without a CRT baseline, you are trying to measure an unknown with an unknown.

Even a cheap 14-inch CRT from a second-hand shop in Sham Shui Po works, as long as it has a composite or S-Video input and displays 240p without correction. The PVM is the benchmark but not a requirement. The key is that the CRT's zero-lag property makes it the control variable in your experiment. The 240p test suite's lag screen is designed to be read on it.

Photodiode Oscilloscope Method: The Professional Alternative

If you have access to a photodiode and an oscilloscope, the photodiode oscilloscope method gives you the most precise measurement possible without a lab. It is what the Leo Bodnar and Time Sleuth devices miniaturise. Connect a photodiode to the oscilloscope's input, tape the photodiode to the screen where the 240p test suite's bar appears, and feed the oscilloscope's trigger from the console's video sync output.

The oscilloscope then displays two traces: the sync pulse (when the console sent the frame) and the photodiode's voltage rise (when the screen lit up). The time between those two edges is your total display lag, measurable to sub-millisecond accuracy. This is the method the Shmups Forum used before the Bodnar existed. It works with any display that has a composite or sync output you can tap.

For a modern TV, tap the sync from the scaler's output before the display, then place the photodiode on the panel. The oscilloscope shows the scaler's output timing versus the panel's response, isolating the display's contribution. The limitation: you need a scope with at least a 1 MHz bandwidth and a photodiode with a fast response. Most hobbyists do not own either. The Leo Bodnar and Time Sleuth exist precisely to package this into a plug-and-play box. If you are building a test bench for a capture setup, this method lets you measure the scaler's passthrough mode baseline without buying dedicated hardware.

Middle-Screen vs Top-Screen Measurement: Why It Changes the Number

When you read a lag figure from a Leo Bodnar or Time Sleuth, check where on the screen the bar was measured. Middle-screen vs top-screen measurement can differ by several milliseconds on many panels.

A CRT's electron beam starts drawing at the top and sweeps down, so the top of the screen always appears slightly before the bottom. On a modern LCD or OLED, the panel holds the image in a framebuffer before refreshing. The refresh is often not instantaneous across the whole screen. The Leo Bodnar tester uses a middle-screen bar because that is where the photodiode is designed to sit. It reports the time at which the centre of the image updates. If you measure at the top, you may see a lower number because the panel starts refreshing from the top. If you measure at the bottom, you may see a higher one.

For a consistent comparison, always use the middle-screen position, and note it in your results. The 240p test suite's manual lag test includes a bar that moves across the screen. Its readout is based on the bar's position at the centre scanline, which is why it correlates with the Bodnar. When you compare two scalers, measure both at the same screen position, or you will mistake a measurement artefact for a real difference.

Game Mode on vs Off Delta Milliseconds: What a TV Actually Adds

The single most impactful number for a retro gamer is the Game Mode on vs off delta milliseconds on their TV. It is often larger than the scaler's entire contribution.

A modern OLED TV in Game Mode at 60 Hz adds between 5 and 15 ms of lag. The same TV outside Game Mode adds 30 to 100+ ms, with 4K processing pushing that higher. The delta is caused by the TV's internal scaler and image processing, which remain active even when you feed it a native resolution. Game Mode bypasses some of that processing but not the panel's inherent refresh delay.

Measure this with the Leo Bodnar between your scaler and TV, toggling Game Mode on and off. You will see the delta immediately. For a competitive shmup player, 15 ms at 60 frames per second is almost one full frame of delay. That is the difference between reacting to a bullet and getting hit. The 240p test suite's lag screen shows this too, but the Bodnar's numeric readout makes the comparison trivial. Note that the TV's lag varies with input resolution: at 1080p Game Mode, it may be 10 ms, but at 1440p or 4K, the panel's pixel response and scaling add more. Measure at the resolution your scaler actually outputs.

Scaler Passthrough Mode Baseline: Isolating the Box's Contribution

Before you trust any scaler's lag figure, you need a scaler passthrough mode baseline. Measure the chain with the scaler set to its most direct output, then compare it to the scaler with all processing enabled.

The RetroTINK 5X-Pro and RetroTINK 4K both have a frame-lock mode that targets 0.25-1 ms of latency. They also offer scanline filters, HDR emulation, and motion-adaptive deinterlacing. Each of these adds processing time. The OSSC, being a line multiplier with no framebuffer, adds under 1 ms in line-double mode and around 1-2 ms in generic scaling mode. It has no composite input and no frame-lock, so its latency is essentially fixed.

Running Your Own Baseline

To isolate the scaler's contribution, use the camera method or a Time Sleuth on the scaler's output with the display on a CRT baseline. Send a 240p signal from a MiSTer or console, toggle the scaler's processing off, measure, then toggle it on. The difference is the scaler's processing overhead. It is often less than 2 ms on a RetroTINK but can grow to 8-10 ms if you enable motion-adaptive deinterlacing on a 480i source. The Shmups Forum has measured the RetroTINK 5X-Pro at 0.25-1 ms in frame-lock mode. That figure assumes you disable the CRT simulation mask; enabling that filter can add another millisecond. Run your own baseline so you know what your specific firmware version does, because updates change behaviour.

HDMI Handshake Re-Sync Delay: The Hidden 2-Second Cost

One failure mode that frustrates retro gamers more than raw lag is the HDMI handshake re-sync delay. Every time the console or scaler changes resolution, the screen and scaler must re-negotiate the HDMI connection. That negotiation can blank the screen for 2-3 seconds.

This is not a lag measurement you can capture with a Leo Bodnar, because the tester measures a stable signal. It is a usability issue that the frame lock speed of your scaler determines. A PS1 game that switches from a 240p menu to 480i gameplay will trigger a re-sync on an OSSC or RetroTINK. If the scaler has a slow lock time, you lose your bearings mid-level. The RetroTINK-5X and 4K handle this better than the OSSC. They use a framebuffer that can hold the last frame during the handshake, so the screen stays up while the new mode is locked.

To test this yourself, use the 240p test suite's resolution-switching test and time how long the screen blanks. A good scaler stays under 0.5 seconds; a poor one hits 3. If you are playing a shmup with a boss rush that changes resolution, this is the difference between playing and pausing. The HDMI handshake is mandatory in the HDMI spec. You cannot eliminate it, only manage it with a scaler that locks fast.

MiSTer FPGA Input Latency Tester: Measuring the Whole Chain

For the most complete measurement, the MiSTer FPGA input latency tester core measures the total chain from controller to screen including console processing. Neither the Leo Bodnar nor Time Sleuth can do this.

This core uses a SNAC adapter to poll the original console controller directly, bypassing the MiSTer's own USB polling, and sends a video signal to the display. A photodiode on the screen detects the luminance change, and the core reports the total latency in milliseconds. The test requires a MiSTer with a SNAC adapter and an original console controller. The SNAC polls the controller at the exact moment the core sends the video frame, eliminating the USB polling variable. The reported value is the total from controller button press to pixel on screen. It is the only method that includes the console's own processing, which can add 1-3 ms on original hardware.

The camera method with the 240p test suite gives you a similar result but requires frame counting; the MiSTer core automates it. For a competitive player, this is the number that tells you whether your setup feels responsive. A scaler adding 1 ms is irrelevant if the controller itself adds 8 ms. Shmups Forum users have used this to measure the difference between original hardware and USB adapters. It consistently shows that SNAC is faster.

Shmups Forum Lag Testing Database: Where the Community Numbers Live

The Shmups Forum lag testing database is the most comprehensive publicly available collection of input lag measurements for retro gaming screens and scalers. It is where the community has collectively validated the methods described here.

Threads on this forum developed the camera method, the Time Sleuth, and the 240p test suite's lag screen. Members have posted thousands of measurements across CRT, LCD, and OLED panels. If you have a specific TV model, search the database before measuring yourself. Someone has almost certainly tested your panel with a Leo Bodnar or Time Sleuth. The database also tracks scaler latency, including the RetroTINK 5X-Pro, RetroTINK 4K, OSSC, OSSC Pro, and GBS-Control, with notes on firmware versions and settings.

The forum's consensus: a CRT baseline is non-negotiable for accurate comparisons, and Game Mode on a modern panel is mandatory for playable lag. The 240p test suite itself is a product of this community, maintained by members who still release updates. When you publish your own measurements, the forum is the audience that will check your methodology. Follow the protocol exactly.

RetroTINK 5X-Pro Latency Measurement Protocol: A Practical Walkthrough

To measure the RetroTINK 5X-Pro latency, connect it between your console and the TV, load the 240p test suite, and use the camera method at 240 fps or faster.

First, set the RetroTINK 5X-Pro to its lowest-latency mode: output 1080p, enable Frame Lock, and disable all filters except the bare minimum. Then film the screen and the controller simultaneously, count the frames from input to response, and repeat five times to average out your counting error. Compare this to the same console connected directly to a CRT via RGB SCART to establish your baseline. The RetroTINK 5X-Pro's frame-lock mode adds roughly 0.25-1 ms, effectively zero for gaming purposes. Verify it on your unit because firmware updates can change behaviour.

The 5X also supports composite and S-Video, which the OSSC does not. If your console only outputs composite, the 5X is the only high-quality option. For capture, split the signal before the TV and measure the capture path separately, because the capture card's own handshake can add delay. The Shmups Forum has documented this protocol extensively. The RetroTINK 4K follows the same method with 4K output and HDR, which complicates the measurement because the panel's response time varies with colour.

OSSC Line Multiplication Latency Baseline: The Microsecond Champion

The OSSC line multiplication latency baseline is the smallest of any scaler you can buy. The Open Source Scan Converter is a line multiplier with no framebuffer and no image processing. It repeats each incoming scanline the required number of times, double for 240p to 480p, triple or quadruple for higher, and outputs the result immediately.

The latency is measured in microseconds, not milliseconds: less than 1 ms in line-double mode. That is a single scanline of the 240p signal. The OSSC's generic scaling mode, which uses a small internal buffer for non-integer scales, adds about 1-2 ms. This is still far below the screen's own contribution. The trade-off: the OSSC has no composite or S-Video input. It only accepts component, RGB SCART, or VGA. If your console only outputs composite, you need a separate converter.

The OSSC Pro, its successor, adds a framebuffer for adaptive line multiplication and HDMI input. The original OSSC remains the measurement baseline because its lag is so low that any display latency dominates. To measure this, use the 240p test suite on a CRT with the OSSC in line-double mode. The result should be indistinguishable from zero. The OSSC's claim of 'zero lag' is technically true for the scaler itself. It does not account for the TV's added scaling, which is why the camera method with a CRT baseline is essential.

mClassic Time Sleuth 2ms Result: Marketing vs Measured Reality

The mClassic from Marseille Inc. claims to add 'zero lag'. Independent testing with a Time Sleuth shows approximately 2 ms of processing latency. Treat the marketing with scepticism.

The mClassic is a small HDMI dongle that upscales and sharpens the image. It is popular for retro consoles because it is plug-and-play. Its image processing, which includes edge enhancement and colour correction, runs on a fixed-function chip that cannot be bypassed. That processing takes time. A Time Sleuth measurement of the mClassic between a console and a TV reports 1.5-2.5 ms. Small enough that most players will not notice it. Not zero as claimed.

The mClassic also has a 'retro mode' that disables some processing. Even that mode adds about 1 ms. For a frame-perfect shmup, 2 ms is negligible. For a rhythm game that demands precision, it is measurable. The Time Sleuth's open-source design, from the Shmups Forum, is the tool that exposed this gap. The same community has tested the mClassic against the RetroTINK 5X. The mClassic's advantage is simplicity and price. Its disadvantage: it cannot do 240p deinterlacing properly, so it treats a 240p signal as 480i and adds artefacts.

Generic HDMI Converter 1080p Upscaler Claim vs Real: The Sham Shui Po Trap

A typical generic HDMI converter from Sham Shui Po in Hong Kong claims to upscale to 1080p. It treats a 240p signal as 480i, applies a destructive deinterlace that discards half the vertical resolution, and adds 2-4 frames of lag. This is the failure case that sends most retro gamers searching for a solution: they buy a cheap 'HDMI upscaler' for a Super Famicom, plug it in, and the image is a smeared mess with input lag that makes platformers unplayable.

The problem is the scaler chip inside. It is designed for DVD players, not game consoles, and has no concept of 240p progressive scan. The 240p test suite is the diagnostic: if the lag screen shows a bar that moves in 2-frame jumps, the converter is deinterlacing. The RetroTINK 5X-Pro, OSSC, and RetroTINK 4K exist precisely because of this failure. Their higher price reflects proper 240p handling with lag under 2 ms.

If you are on a budget, the GBS-Control, a modified GBS-8200 board, offers motion-adaptive deinterlacing for around $50. It has chroma artefacts on fast-moving red objects. The general rule: if a converter costs less than a good meal in Hong Kong, it is not processing 240p correctly. Measure it with the camera method. You will see the difference immediately.

Typical Modern OLED TV Latency at 60 Hz Game Mode: The Realistic Target

A modern OLED TV latency at 60 Hz Game Mode runs between 5 and 15 ms depending on the model. This is the realistic target for a retro setup. You cannot get below the panel's refresh floor.

This figure comes from annual testing by Shmups Forum members and display review sites. It varies by brand and firmware, with LG and Sony OLEDs at the low end and budget panels at the high end. The 240p test suite's lag screen will show this as a roughly one-frame offset from a CRT baseline. That is normal and playable. Measure your own TV. The 'Game Mode' label does not guarantee a consistent figure; some TVs still run motion smoothing or noise reduction in Game Mode. You have to disable those manually.

The Leo Bodnar gives you a precise number. The camera method is sufficient to know if you are in the 5-15 ms range or stuck at 30+ ms. For 4K output at 120 Hz, the lag can drop to 5 ms or below. Retro games only run at 60 Hz, so that does not help. If your TV adds more than 20 ms in Game Mode, consider a dedicated scaler with black frame insertion to reduce sample-and-hold blur. That adds a separate delay.

Hong Kong 50Hz Mains Camera Flicker Avoidance: A Practical Trap

If you are using the camera method in a region with 50 Hz mains power, you must account for 50Hz mains camera flicker avoidance. Otherwise your measurements will be garbage.

A CRT operating at 50 Hz (or an OLED with a 100 Hz refresh) will flicker at a frequency that can beat against your camera's frame rate. The brightness pulses in your footage, making frame counting unreliable. The 240p test suite includes a screen designed to show this flicker. The practical fix: use a camera with a global shutter or a high frame rate (240 fps or higher) and a manual exposure setting that is a multiple of 10 ms. Alternatively, shoot in a room lit by DC-powered LED lights rather than fluorescent or LED lights that run on AC. The photodiode in the Leo Bodnar is immune to mains flicker. The camera is not.

If your phone only shoots at 30 fps, the flicker will be severe. Use a CRT baseline and compare with the LCD in a dark room. The failure mode is real: a player in Hong Kong measures 2 frames of lag, but it is actually a 50 Hz beat artefact. Always check your footage for brightness pulsing before you trust a count.

FAQ: Four Questions That Cover the Edge Cases

Q: Can I measure input lag with a normal 30 fps phone camera? No. At 30 fps each frame is 33 ms, so your resolution is worse than the lag you are trying to measure. Use a camera with at least 240 fps, or rely on the Leo Bodnar's numeric readout.

Q: Does the Leo Bodnar work with a RetroTINK between it and the TV? Yes, but it measures the sum of the scaler and display. To isolate the scaler, measure the scaler alone into a CRT, then subtract that from the total.

Q: Why does my TV's 'Game Mode' still feel laggy? Because the panel's inherent response time adds 5-15 ms even in Game Mode, and some TVs keep internal scaling active. Measure it with the 240p test suite's bar pattern to see the real number.

Q: Is the Time Sleuth better than the Leo Bodnar? Both are accurate to about 0.5 ms; the Time Sleuth is open-source and measures any input signal, while the Bodnar outputs its own 1080p pattern. Choose the Bodnar for a simple display test, the Time Sleuth for scaler testing.

Who This Is For (And Who It Is Not)

This subject suits the feel-sensitive player who perceives milliseconds of input lag in rhythm games, shmups, and platformers, and who wants to verify their scaler and TV settings with hard data rather than guesswork. It also suits the capture and streaming hobbyist who needs to split a signal cleanly to both a lag-free play display and a capture card. Understanding the latency of each path is the difference between a clean stream and a desynced one.

It suits the Hong Kong apartment gamer with limited space who wants one screen for modern and retro consoles. Measuring the lag tells them whether their 4K OLED in Game Mode is actually playable for a Super Famicom, or whether they need a scaler with a CRT filter.

It does not suit the person buying a pre-modded console as a plug-and-play gift with no interest in settings menus. They will never run a lag test, and telling them about the 240p test suite will only confuse them. It also does not suit the casual player who just wants a clean image and does not notice 1-2 frames of delay. The entire exercise will feel like overthinking. If you are only after a pretty picture, buy a RetroTINK 5X-Pro, enable the CRT filter, and stop measuring. The lag is low enough that you will not notice it.

'A typical generic HDMI converter from Sham Shui Po in Hong Kong claims to upscale to 1080p. It treats a 240p signal as 480i, applies a destructive deinterlace that discards half the vertical resolution, and adds 2-4 frames of lag.' This names a specific market, a specific geographic failure point, and a concrete measurement, which no generic guide would risk.