HCI Design Logo / Click for homepage

HCI Design > Measure Monitor Input Lag with the piLagTesterPRO

The piLagTesterPRO measures your monitor's input lag and response time. Why should you care? Well if you are a gamer or a vision scientist, it can matter quite a bit. In the old days of CRTs there was no delay at all - the instant your video card sent a pixel to the display it appeared, with ZERO lag, with at most 1ms for the pixel to reach full brightness. With our advanced LCD (and even OLED) displays it takes a while for the monitor to start drawing each pixel received - between 2 ms and 100ms depending on the model and settings - this is called input lag. In addition to input lag there is response time - how long it takes for the pixel to reach the final brightness - this can vary between 2 and 20ms. This is the spec published for most monitors, but as you can see it is only half the story

For an action gamer playing with high input lag means always responding late. If your display has 50ms of lag, everything that happens in game (such as a new enemy appearing) only shows up 50ms later. It also makes aiming in FPS much harder if you target is moving - sure it was in your sights 50ms ago, but where is it now? Or for run and jump gamers it means trying to jump off the edge of a platform and instead falling off it.

Most displays for sale today don't have published input lag numbers, and even for those that do the settings of the display can make a significant difference in what values you get. Being able to test your personal display, with your personal settings, is the best way to ensure you have low input lag. Also, reducing input lag can sometimes increase response time so being able to measure both is important to make sure you are actually getting an improved gaming experience rather that just chasing specs.

Introducing the piLagTesterPro

Our input lag and response time tool is a cheap ($40), full featured add-on to the Raspberry Pi; we provide the sensor and a fully configured SD card with the software + OS ready to go. You provide the Pi (a $5 pi Zero is more than sufficient). Although it has a DIY aesthetic, it is quite functional and offers quite a lot more features than the alternatives (Leo Bodnar and the Time Sleuth).

Here's what it looks like in action:

The pi draws a black background, and then roughly once a second displays a set of target rectangles (top/middle/bottom). You place the sensor over the desired target, and the piLagTester measures the monitor's response starting from the moment the frame of video data is sent over the Pi's HDMI port. This is plotted in the graph, which is sideways for space reasons.

The lag tester measures two thresholds - how long it takes for the monitor to start displaying the target rectangles (input lag) and how long it takes to finish drawing them at full brightness (response time). These thresholds are printed at right and also used to color the graph: white for when the monitor has not responded at all, red for when the monitor starts to respond (input lag), and yellow for when the display has finished drawing the targets at their full brightness (full response). To get the reaction time quoted in spec sheets subtract input lag from full response.

Also visible in the yellow zone is the overshoot/overdrive response: once the white target has reached full brightness it begins to fade somewhat. Most displays have this issue, but low quality ones have it much worse.

We use a 5% increase in brightness as the threshold for detecting the initial response; this corresponds roughly with what other input lag testers use. But a 5% increase  is not that salient to your eyes; you might prefer to know when the monitor has actually finished drawing the input, which is why you might prefer to use our full response measure instead. Or you can choose any value in between: both the input lag and full response thresholds are user adjustable.  

For more advanced users, the software also dumps the raw measurement values to disk allowing offline calculations and publication quality graphs, such as the following example

This was generated using Octave on a desktop PC (Octave is free and runs on PC/MAC/Linux). if you are happy with the defaults no programming is required to produce the this figure using the example code provided. If you desire custom plotting code that could be arranged for a fee.

The hardware doesn't look like much, and yes, it is hand assembled:

 

We provide everything you need the except the Pi. You just plug the ribbon cable into the GPIO header on your Pi and position the light sensor on your TV. The light sensor is attached to the blue rectangle of tape. Let's get a close up of the sensor in action:

 Because it is just a photodiode on a wire, it's very light (is that a pun?), which means it can easily be held in place with tape at the edge of the screen. This is much more handy than the TimeSleuth or Leo Bodnar because you can leave our sensor attached while you fuss with settings on your monitor/deinterlacer/whatever and find out what combination produces the least input lag or response time. In my experience a single piece of 3M blue tape will last about 30-50 applications before it starts to fail if you carefully keep it clean. The lag testing software runs on Linux but we provide an entire bootable disk image so no configuration or installation is required. For that reason very little understanding of Linux is required; you just need a few single-word commands that are printed out each time you power up your PI.

Ordering the piLagTesterPRO

Want to buy the piLagTesterPRO? The price is $40 + shipping. That price assumes you download the software and write it to a microSD card yourself. Or if you prefer, for $10 more we can include a MicroSD with the software and OS preinstalled.

Pi models with a Zero, 2, or 3 in the name are fully supported. The Pi 4 is also supported for measuring input lag and response time, however due to firmware issues with its new video chipset some advanced features are not yet implemented...

 

 US orders:

International orders:

.  

 


(c) 2020 HCI Design ( webinfohcidesign.com)