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.
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)
[App (Win32/64)] Display Input Lag Tester (no hardware req!)
[App (Win32/64)] Display Input Lag Tester (no hardware req!)
Last edited by rayw_bb on 30 Jan 2019, 09:29, edited 2 times in total.
- Chief Blur Buster
- Site Admin
- Posts: 11653
- Joined: 05 Dec 2013, 15:44
- Location: Toronto / Hamilton, Ontario, Canada
- Contact:
Re: [App (Win32/64)] Display Input Lag Tester (no hardware r
[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.
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
Forum Rules wrote: 1. Rule #1: Be Nice. This is published forum rule #1. Even To Newbies & People You Disagree With!
2. Please report rule violations If you see a post that violates forum rules, then report the post.
3. ALWAYS respect indie testers here. See how indies are bootstrapping Blur Busters research!
Re: [App (Win32/64)] Display Input Lag Tester (no hardware r
Thanks everyone for their feedback!
Update v1.0.1
- Added option to use different indicators (numlock, caps lock, scroll lock)
Update v1.0.1
- Added option to use different indicators (numlock, caps lock, scroll lock)
Re: [App (Win32/64)] Display Input Lag Tester (no hardware r
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.
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.
LTSC 21H2 Post-install Script
https://github.com/Marctraider/LiveScript-LTSC-21H2
System: MSI Z390 MEG Ace - 2080 Super (300W mod) - 9900K 5GHz Fixed Core (De-lid) - 32GB DDR3-3733-CL18 - Xonar Essence STX II
https://github.com/Marctraider/LiveScript-LTSC-21H2
System: MSI Z390 MEG Ace - 2080 Super (300W mod) - 9900K 5GHz Fixed Core (De-lid) - 32GB DDR3-3733-CL18 - Xonar Essence STX II
Re: [App (Win32/64)] Display Input Lag Tester (no hardware r
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.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.
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.
Re: [App (Win32/64)] Display Input Lag Tester (no hardware r
Thanks for your support Chief!Chief Blur Buster wrote:
That's quite neat!
(Hope you signed the executable with a certificate)
I'll definitely consider that. Testing will be very difficult though as I don't have any Razer equipment on handChief 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)
- Chief Blur Buster
- Site Admin
- Posts: 11653
- Joined: 05 Dec 2013, 15:44
- Location: Toronto / Hamilton, Ontario, Canada
- Contact:
Re: [App (Win32/64)] Display Input Lag Tester (no hardware r
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.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.
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
Forum Rules wrote: 1. Rule #1: Be Nice. This is published forum rule #1. Even To Newbies & People You Disagree With!
2. Please report rule violations If you see a post that violates forum rules, then report the post.
3. ALWAYS respect indie testers here. See how indies are bootstrapping Blur Busters research!
Re: [App (Win32/64)] Display Input Lag Tester (no hardware r
This is simply GENIUS !!!
We can all now test how many frames of delay there is. thank You
We can all now test how many frames of delay there is. thank You
Re: [App (Win32/64)] Display Input Lag Tester (no hardware r
Will the results be different with a ps/2 keyboard?
Re: [App (Win32/64)] Display Input Lag Tester (no hardware req!)
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
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.