[App (Win32/64)] Display Input Lag Tester (no hardware req!)

Everything about latency. Tips, testing methods, mouse lag, display lag, game engine lag, network lag, whole input lag chain, VSYNC OFF vs VSYNC ON, and more! Input Lag Articles on Blur Busters.
rayw_bb
Posts: 6
Joined: 28 Jan 2019, 00:35

[App (Win32/64)] Display Input Lag Tester (no hardware req!)

Post by rayw_bb » 28 Jan 2019, 02:35

Hi all,

I've been working on an app that should allow for more people to perform their own display input lag testing/analysis!

Specifically, making use of an LED indicator that just about 99.9% of people have: numlock/caps lock/scroll lock! Now you don't need to buy one of those specialized dongles with an LED indicator that lights up on a mouse click!

With my app, your numlock/caps lock/scroll lock indicator lights up in sync with mouse clicks.

Image

You can download it here:
http://bit.ly/2HD5IH9

I've compiled it both in 32-bit and 64-bit x86/x86-64 binary formats.

I've tested it on Windows 10 Pro 64-bit 1809.

Hope it helps someone out!

Here's demo footage of my app in action (recorded using my phone, 240 fps slow-mo on a Google Pixel), notice how the numlock LED lights up when I press the left mouse button and a few ms later the gun in-game reacts: https://www.youtube.com/watch?v=BXiJmMdMg9s

-Ray

-------------------------

Update v1.0.1
- Added option to use different indicators (numlock, caps lock, scroll lock)
Last edited by rayw_bb on 30 Jan 2019, 09:29, edited 2 times in total.

User avatar
Chief Blur Buster
Site Admin
Posts: 9187
Joined: 05 Dec 2013, 15:44
Location: Toronto / Hamilton, Ontario, Canada
Contact:

Re: [App (Win32/64)] Display Input Lag Tester (no hardware r

Post by Chief Blur Buster » 28 Jan 2019, 02:46

[Moved to Input Lag forum, keeping redirect in General]

That's quite neat!
(Hope you signed the executable with a certificate)

Add Support for Chroma DeathAdder Mouse LED API
You should add support for the Chroma DeathAdder mouse LED. There's an API for it. It has approximately ~10-13ms latency but it's another useful LED indicator. Jorim used that before I sent him a modded mouse (<1ms latency)

Pre-Test Numlock Latency, So They Can Subtract It From Results
If users are using 1000fps cameras instead of 240fps camera, the Numlock light has a noticeable latency on some keyboards. It's likely sub-refresh at 60Hz, but more than one refresh at 240Hz. My keyboard has a PWM-flickering Numlock, so there's a PWM latency added. It's very tiny on many keyboards (less than 1/60sec). I think on the 1000Hz-poll USB keybaords with non-PWM NumLocks may light their NumLocks faster. But it's useful to pre-test your keyboard for your average NumLock latency (do the high-speed button/key slam test with a high speed camera) and you can compensate for that quite easily.

Reducing Camera Sensor Scan Error
To minimize camera sensor-scan interference to latency results, since a 240fps camera sensor takes 1/240sec to "scan" in landscape from top to bottom of camera sensor, creating a lag differential in the picture. The camera sensor sweep is sideways in portrait. So knowing this, keep the two light stimuli (LED & onscreen) at the same vertical elevation for landscape camera, or same horizontal position for vertical camera, helps reduce the camera-sensor-scan error margin. Basically you want the long pixel row on the video image to overlap both the screen stimulus and the keyboard LED.
Head of Blur Busters - BlurBusters.com | TestUFO.com | Follow @BlurBusters on Twitter

       To support Blur Busters:
       • Official List of Best Gaming Monitors
       • List of G-SYNC Monitors
       • List of FreeSync Monitors
       • List of Ultrawide Monitors

rayw_bb
Posts: 6
Joined: 28 Jan 2019, 00:35

Re: [App (Win32/64)] Display Input Lag Tester (no hardware r

Post by rayw_bb » 29 Jan 2019, 22:31

Thanks everyone for their feedback!

Update v1.0.1
- Added option to use different indicators (numlock, caps lock, scroll lock)

MT_
Posts: 88
Joined: 17 Jan 2017, 15:39

Re: [App (Win32/64)] Display Input Lag Tester (no hardware r

Post by MT_ » 30 Jan 2019, 16:18

I was thinking the same thing, as I've done my own little 'testing' with my keyboard (Corsair 1000hz polling) and 240hz Iphone cam.

Up until the point that I realised, are the *lock LED's actually switching/refreshing at 1000hz?

From my recordings, it seems like the *lock LED's go on and off gradually in 2 to 3 states (same as the 3 brightness steps the keyboard has)

Also I know that the RGB on the keyboard cannot refresh faster than 40hz apparently. So I'm really skeptical.
Personal LTSC (Gaming) Live Script:
https://github.com/Marctraider/LiveScript-Git

rayw_bb
Posts: 6
Joined: 28 Jan 2019, 00:35

Re: [App (Win32/64)] Display Input Lag Tester (no hardware r

Post by rayw_bb » 30 Jan 2019, 17:38

MT_ wrote:I was thinking the same thing, as I've done my own little 'testing' with my keyboard (Corsair 1000hz polling) and 240hz Iphone cam.

Up until the point that I realised, are the *lock LED's actually switching/refreshing at 1000hz?

From my recordings, it seems like the *lock LED's go on and off gradually in 2 to 3 states (same as the 3 brightness steps the keyboard has)

Also I know that the RGB on the keyboard cannot refresh faster than 40hz apparently. So I'm really skeptical.
Thanks for chiming in. Chief has a point, it can be very keyboard dependent how much delay there is. But, even in the worst case, it is more than sufficient for an individual doing comparisons between multiple monitors on their own.

That being said, when I compared my measurements using my keyboard to reviewers, I'm actually well within 1 ms of their numbers while they used special equipment. Several others have conducted independent testing using this app and gotten back to me with mostly positive results, that is, it's within 1-2 ms of using one of those specialized LED dongles, and averaging over more iterations, even less than that.

To calm the skeptical, I've also re-tested my system using a different phone with a 480 fps camera instead of a 240 one, and got the same results, which can be found here: https://www.youtube.com/watch?v=SvXBr3Y2BK4

The point of this app is to allow more people to be included in the community, being able to perform these kind of tests on their own without going out of their way to buy extra equipment, i.e. ubiquity. Can also help calm skeptics about things like the "G-SYNC 101" article posted on this very web site, there's plenty of skeptics out there on Reddit and the like who doubt the need to cap FPS for example, to prevent input lag from kicking in. Now they can do their own testing: G-SYNC/FreeSync/VSYNC with FPS cap of x, y , z. etc and see for themselves with hard numbers to back it up. Helps eliminate the placebo effect as well.

rayw_bb
Posts: 6
Joined: 28 Jan 2019, 00:35

Re: [App (Win32/64)] Display Input Lag Tester (no hardware r

Post by rayw_bb » 30 Jan 2019, 17:42

Chief Blur Buster wrote:
That's quite neat!
(Hope you signed the executable with a certificate)
Thanks for your support Chief!
Chief Blur Buster wrote: Add Support for Chroma DeathAdder Mouse LED API
You should add support for the Chroma DeathAdder mouse LED. There's an API for it. It has approximately ~10-13ms latency but it's another useful LED indicator. Jorim used that before I sent him a modded mouse (<1ms latency)
I'll definitely consider that. Testing will be very difficult though as I don't have any Razer equipment on hand :(

User avatar
Chief Blur Buster
Site Admin
Posts: 9187
Joined: 05 Dec 2013, 15:44
Location: Toronto / Hamilton, Ontario, Canada
Contact:

Re: [App (Win32/64)] Display Input Lag Tester (no hardware r

Post by Chief Blur Buster » 01 Feb 2019, 19:02

rayw_bb wrote:Thanks for chiming in. Chief has a point, it can be very keyboard dependent how much delay there is. But, even in the worst case, it is more than sufficient for an individual doing comparisons between multiple monitors on their own.
Super-sampling can reduce a 40Hz keyboard flicker into a nearly 1ms-accurate simply by doing enough passes, then averaging it all out, with the appropriate formulas including a carefully calculated keyboard-specific fixed-latency offset.

Do 100 passes of 40Hz keyboard LED, average it all, subtract half of 40/1000sec (the latency bias of low-Hz), subtract known USB poll latency (e.g. 1/1000sec for 1000Hz keyboards) and your accuracy begins to approach 1ms equipment.

Ideally, you want to calibrate against a known latency, to catch other known keyboard LED-control latencies (e.g. drivers, keyboard light driving electronics latency, and other unknown latency factors). But it's possible to get much better accuracies.

It's just more laborious, though.

In exchange for free/cheaper equipment, you're just doing more work to get the accuracy needed.

In other words, you're essentially superresolutioning one-dimensionally (the time dimension on a zero-dimensional LED point source) to increase time resolution dramatically.

This assumes that the LED is unsynchronized to the screen refresh rate, and so you're simply using random sync between keyboard flicker and display refresh rate (that's necessary in order to pull an ordered signal above a random noisefloor).

It's the same way modems still work even though the signal is far below noisefloor. They use creative mathematical trickery to pull the signal above noisefloor.
Head of Blur Busters - BlurBusters.com | TestUFO.com | Follow @BlurBusters on Twitter

       To support Blur Busters:
       • Official List of Best Gaming Monitors
       • List of G-SYNC Monitors
       • List of FreeSync Monitors
       • List of Ultrawide Monitors

lexebidar
Posts: 83
Joined: 15 Sep 2017, 18:58

Re: [App (Win32/64)] Display Input Lag Tester (no hardware r

Post by lexebidar » 03 Feb 2019, 08:28

This is simply GENIUS !!!
We can all now test how many frames of delay there is. thank You

MatrixQW
Posts: 220
Joined: 07 Jan 2019, 10:01

Re: [App (Win32/64)] Display Input Lag Tester (no hardware r

Post by MatrixQW » 04 Feb 2019, 04:04

Will the results be different with a ps/2 keyboard?

dextheg
Posts: 2
Joined: 21 Apr 2020, 06:22

Re: [App (Win32/64)] Display Input Lag Tester (no hardware req!)

Post by dextheg » 23 Apr 2020, 05:07

Hey,
Im currently using 1709 and this program isn't starting.
Also tried starting as admin. Is it still working in newer windows versions?
Is there maybe an alternative program that does the same?

thx for helping a guy out!
edit: works now
Last edited by dextheg on 25 Apr 2020, 13:24, edited 1 time in total.

Post Reply