Noodalls input lag testing (unique method - games/controllers/etc) (MVCI X1/PS4 demo added)

noodallsnoodalls Joined: Posts: 408
edited June 14 in Tech Talk
I wanted to create my own thread on this topic, as the method that I've come up with overcomes several of the disadvantages of other methods. I feel that I have a lot of information out on twitter and in other threads, but it would be nice to consolidate it all into one thread that can be updated as I test.

The concept for how this test works is to watermark the screen image at the exact time the controller is being pressed. This is done using optocouplers, so that there can be no electrical cross talk between different components of the testing circuit. This should ensure mean that the signal arrives at the controller at the same time as it interrupts the video signal.

I have made several videos explaining this here.



New one explaining the results format



Post edited by noodalls on
«1

Comments

  • noodallsnoodalls Joined: Posts: 408
    edited April 21
    This thread will be for controllers

    New method. ~100 tests, 1F long, 30F apart.

    Tested with BBCPE for PS4/PS3/X1. Tested with BBCS for X360. WiiU tested with Smash WiiU. Time includes response of controller + game.

    16/4 update - first PS4 brook converter tested
    15/4 update - added website links for controllers.


    PS4
    UFB FW 1.80 42.9ms http://www.brookaccessory.com/detail/06960737/
    DS4 Old wireless 43.9ms
    DS4 Old wired 43.9ms
    DS4 New wireless 44.1ms
    PS360+ FW 1.66 HW 2.10 44.4ms
    HRAPV Hayabusa 47.4ms http://www.hori.jp/products/p4/p4_rap_vh2/
    HRAPV4 48ms http://www.hori.jp/products/ps4/ps4_rap_h/
    UFB in X360 mode, X360-PS4 Converter 48.1ms
    Madcatz FS Alpha 48.2ms http://www.madcatz.com/fightsticks/fsalpha.php
    Hori FC4 48.7ms http://www.hori.jp/products/ps4/ps4_ftc/
    Hori VLX 48.8ms http://www.hori.jp/products/p4/p4_rap_vlx_HAYABUSA/
    PS3PS4FB FW 1.80 49.2ms http://www.brookaccessory.com/detail/58690501/
    DS4 New wired 54.8ms


    - video of Cerny saying it will be lower latency, better for fighting games. Note time encoding doesn't seem to be working, skip to 5:09.

    DS4 Retest for FW 4.55 wired - no change 54.9ms
    Venom 58.9ms




    PS3
    UFB FW 1.80 PS4 mode 43.6ms http://www.brookaccessory.com/detail/06960737/

    UFB FW 1.80 43.8ms http://www.brookaccessory.com/detail/06960737/
    MC Cthulhu 1ms firmware 44.5ms
    PS360+ Old hardware FW 1.66 44.5ms
    PS360+ HW 2.10 FW 1.66 44.4ms

    PS3PS4FB FW 1.80 45.1ms http://www.brookaccessory.com/detail/58690501/
    PS360 47.9ms
    MCZ FS Alpha PS4 mode 50.7ms
    Hori V3SA 53.4ms
    Hori Wireless Stick 54.9ms
    MC Cthulhu 10ms firmware 54.7ms
    Zero Delay 55.1ms
    Hori Fighting Commander 3 55.1ms
    MCZ FS Alpha PS3 mode 56ms
    Q4 58.9ms



    Xbox One
    UFB FW 1.80 46.1ms http://www.brookaccessory.com/detail/06960737/
    TE2 53.1ms



    X360
    UFB FW 1.80 48.1ms http://www.brookaccessory.com/detail/06960737/
    Q4 49.2ms
    PS360+ HW 2.10 FW 1.66 52.2ms
    PS360+ Old HW FW 1.66 59.8ms

    WiiU
    Wii Controller 73.9ms
    Gamecube controllers 74.7ms and 74.9ms (old and new)
    WiiU Gamepad 76.9ms
    Brook UFB in PS4 mode via WiiU P3/P4 adapter 79.5ms http://www.brookaccessory.com/detail/06960737/
    PC BBCPE Assume Vsync on unless mentioned. 780TI. 60fps. 1080p.
    UFB X360 mode, Vsync off 54.4ms
    UFB PS4 mode 55.8ms
    UFB X360 mode 56.2ms
    Previous results
    Post edited by noodalls on
  • noodallsnoodalls Joined: Posts: 408
    edited June 14
    This post will be for games. Tests are with Brook UFB FW 1.80 unless specified. Time includes response of game + controller.

    7/5 update - X1 UMvC3 added. Now we have all five versions.
    1/5 VF5 added (4 versions). Tekken (8 versions)
    29/4 update - NRS PS4 games and GGAC for Wii added
    15/4 update - 6 new ps4 games added

    PS4
    BBCF 41.9ms
    BBCPE 42.9ms
    Nitro Blasters 55.1ms
    GGXRD Revelator 58.2ms Demo 58.7ms
    USF4 59.1ms
    Injustice 65.6ms *note command history occurs 1F before animation starts
    SkullGirls 2nd Encore 73ms
    Garou 74.6ms
    Last Blade 2 74.6ms
    Dead or Alive 5 LR 75.3ms
    Mortal Kombat X 75.5ms *note command history occurs 1F after animation starts
    KOFXIV ver 2.00 76.5ms
    MVCI demo 88.8ms
    SFV 88.6ms
    UMvC3 89.1ms
    Injustice 2 92.4ms command history appears one frame earlier
    Tekken 7 120.1ms *command history appears one frame faster Tested at 720p. 119.9ms Tested on PS4Pro 120.5ms
    PS3
    KOFXII 26.9ms

    SF3 42.7ms Note - tested with different filter options, quick check doesn't seem to make any difference.

    BBCPE 43.8ms
    Virtua Fighter 5FS 60.3ms *note command history appears 1 frame before animation starts
    Virtua Fighter 5 60.4ms *note command history appears 1 frame before animation starts
    Tekken 5 DR 63.0ms
    Tekken 6 65.8ms *note command history appears 1 frame before animation starts
    Repeat 66.5ms
    UMvC3 66.6ms
    Tekken Prologue 66.7ms
    USF4 77.4ms
    Tekken Tag 85.5ms
    TTT2 94.0ms *note command history appears 1 frame before animation starts
    Repeat 95.1ms

    Tekken Revolution - incomplete but looks same as TTT2
    Repeat - 93.7ms
    KOFXIII 105.2ms * note, command history appears 4 frames before animation starts



    X360
    SF3 47.4ms
    BBCS 48.1ms


    USF4 57.4ms
    Virtua Fighter 5FS 64.4ms *note command history appears 1 frame before animation starts
    UMvC3 64.4ms
    TTT2 99.1ms *note command history appears 1 frame before animation starts
    Repeat 99.9ms




    X1
    BBCPE 46.1ms
    UMvC3 62.0 ms
    KI 64.1ms
    Garou 67ms
    MVCI Demo 75ms
    Virtua Fighter 5FS 78.9.3ms *note command history appears 1 frame before animation starts
    Tekken Tag Tournament 2 117.2ms * note command history appears 1 frame before animations starts



    PC Windows 10 i4770K @ 3.50GHz 16GB Ram GTX780ti

    GGXRD 45ms
    BBCPE 56.2ms
    UMvC3 61.8ms
    SFV 73.9ms



    Wii
    Tatsunoko vs Capcom 60.8ms (done through WiiU)
    Guilty Gear Accent Core 56.0ms (done through WiiU)
    WiiU
    Tekken Tag Tournament 2 128.3ms*command appears 1F before animation






    The first game I have tested using my new setup is Ultimate Marvel vs Capcom 3.
    Post edited by noodalls on
  • noodallsnoodalls Joined: Posts: 408
    edited June 21
    Online testing

    The way I did this is to have two PS4 systems, which we can call PS4A and PS4B. For reference PS4A is a standard PS4, PS4B is a PS4Pro. Both are wired connections to a R7000 router. My ping on each system is about 30ms over a few trials. However this is going to a major town about 70km away, so not sure if the ping will be as bad p2p.

    A button is pressed (via the arduino) on PS4A, and the video output is captured on PS4B, via the standard HDMI --> component with a colour band to indicate when the button press occurred.

    What is interesting about the results to me is the 1. BBCPE is blindingly fast, 2. T7 is actually a little faster than offline and 3. the range of input timing for SFV ranges from 66.6ms to 133.3ms.





    BBCPE 57.8ms
    SFV 88.2ms
    T7 113.6ms
    Post edited by noodalls on
  • noodallsnoodalls Joined: Posts: 408
    edited March 11
    And this post will be reserved for answering questions.

    To predict some questions.


    Why not just use the video method like everyone else?
    I guess the best answer is, if everyone else can do it, what could I add? I have played extensively with that method, and find that it is too finnicky in terms of being sure that either a button has been pressed, or an LED has started lighting up, as well as having to reset the camera between takes to ensure that different synchronisations with the LCD monitor have occurred etc. etc.
    I only have access to a 60fps camera. In the future, when Sony's 1000fps mobiles come out, this method may be more useful again.

    Doesn't the HDMI --> Component converter introduce lag?
    This was one of my major concerns. However, using the PS3 I was able to output via either HDMI via converter or directly via component into my testing system, and depending on how the results are analysed, it would seem to suggest that it adds 0.25-0.5ms of lag.

    Why don't you just test via an oscilloscope?
    Unfortunately, I don't have the know how to do this. I have bought an arduino USB adapter and cheap oscilloscope but never made much headway in using them. I would be more that happy for someone else to do so.
    Also, this method allows us to test the entire chain up until before the monitor, so changing anyway one component can tell us the contribution of that component. Also, this is the real environment of the controllers, so issues like polling rate will be revealed.
    Furthermore, it would only take one oscilloscope test by someone else to give us the information required to remove the contribution by the game/system. For example, this post by undamned

    undamned wrote: »
    I don't understand your Cthulhu results. I tested Cthulhu with my USB host interface a while back on an oscilloscope (yes) and it was consistently 2ms from the time the button input signal to the Cthulhu changed to the time that my host output signal changed. And it's been so long, I might not have even been polling it every 1ms (could have been 2ms). Please re-test Cthulhu with latest firmware. If you were testing with latest firmware, I don't know what to say other than point out that your results were grossly different than mine.
    -ud

    gives us a baseline. In looking at the recordings for the MC Cthulhu on PS3, I also find a tight band, located just above the end of the frame.

    How are you able to give millisecond timings?
    This is explained in one of the videos, but by dividing the 720p or 1080p image into 16.66 equal segments (accounting for non-displayed lines) we can determine where within the frame an input is occurring.

    Did you come up with this method yourself?
    The idea of interrupting a video signal is not my own, and has been used by people on this forum as well as other places on the net. However the extension this far, and so far as I am aware the idea of just using 1ms instead of a longer input to target the input window is my own.

  • noodallsnoodalls Joined: Posts: 408
    edited March 11
    Reserved.
  • noodallsnoodalls Joined: Posts: 408
    https://1drv.ms/u/s!AizjHalveL7Pj6B9oLViqEXjGrRnWw

    This should link to a zip file containing the images I used to review PS4.UFB.BBCPE if anyone is interested as to how I go about it.
  • ShinMagusShinMagus Joined: Posts: 397 ✭✭✭✭✭ OG
    edited March 19
    Input lag in PC gaming varies a lot, as detailed in https://displaylag.com/reduce-input-lag-in-pc-games-the-definitive-guide/ , so you should probably specify what settings you used, which include settings not available in the game itself (e.g., managed on the NVIDIA Control Panel / AMD Catalyst)... :)

    I'm a G-Sync fan... :P
    Post edited by ShinMagus on
    Magus
    12000 B.C. - Dark Ages
    "The black wind begins to blow..."
    "Can you hear that? It's the sound of the Reaper."
  • noodallsnoodalls Joined: Posts: 408
    Yep. That's one of the reasons I've not done as much testing on PC. Consoles are a very set environment, so my experience should be the same as everyone's. PC seems to keep throwing up new frustrations each time I try to use it.
  • ShinMagusShinMagus Joined: Posts: 397 ✭✭✭✭✭ OG
    edited March 20
    V-Sync off or G-Sync / FreeSync, if you have it, should be the priority, IMO, as they yield the best results. I suppose V-Sync on out of curiosity would be an ok contribution...
    Magus
    12000 B.C. - Dark Ages
    "The black wind begins to blow..."
    "Can you hear that? It's the sound of the Reaper."
  • noodallsnoodalls Joined: Posts: 408
    Pretty sure my 780TI doesn't do gsync, and even if it did, I run the HDMI out to an HDMI to component converter, which definitely doesn't support G-Sync.

    Updated with at least 10 new tests, mainly old PS3 controllers. Still have another 4 PS4 controllers to test, and a few on the X360.
  • telesnipertelesniper Joined: Posts: 365
    noodalls wrote: »
    Pretty sure my 780TI doesn't do gsync, and even if it did, I run the HDMI out to an HDMI to component converter, which definitely doesn't support G-Sync.

    Updated with at least 10 new tests, mainly old PS3 controllers. Still have another 4 PS4 controllers to test, and a few on the X360.

    Could you possibly test UFB in forced mode for some PlayStation games, I mean force PS4 mode on a PS3 and vice versa? Curious to see if there is any difference. Thank you for your thorough testing!

    Btw, Gsync should work fine for your 780Ti, but yeah DP not HDMI... = /
  • malalolmalalol Joined: Posts: 54
    Noodalls is there any chance you could test the razer panthera with the updated firmware? Thanks
  • noodallsnoodalls Joined: Posts: 408
    edited April 1
    malalol wrote: »
    Noodalls is there any chance you could test the razer panthera with the updated firmware? Thanks

    I'll test anything I can get my hands on. Not sure if anyone local has one though.

    In the mean time
  • noodallsnoodalls Joined: Posts: 408
    telesniper wrote: »
    noodalls wrote: »
    Pretty sure my 780TI doesn't do gsync, and even if it did, I run the HDMI out to an HDMI to component converter, which definitely doesn't support G-Sync.

    Updated with at least 10 new tests, mainly old PS3 controllers. Still have another 4 PS4 controllers to test, and a few on the X360.

    Could you possibly test UFB in forced mode for some PlayStation games, I mean force PS4 mode on a PS3 and vice versa? Curious to see if there is any difference. Thank you for your thorough testing!

    Btw, Gsync should work fine for your 780Ti, but yeah DP not HDMI... = /

    I will look to do this at some point. From memory Nikogel360's conclusion was that setting the controller to PS4 on a PS3 system worked best, and they questioned why you even need a PS3 mode (presumably compatibility).
  • ShinMagusShinMagus Joined: Posts: 397 ✭✭✭✭✭ OG
    I don't remember it clearly now, but I suspect PS4 controllers on PS3s don't have exactly as many functions as PS3 controllers...
    Magus
    12000 B.C. - Dark Ages
    "The black wind begins to blow..."
    "Can you hear that? It's the sound of the Reaper."
  • telesnipertelesniper Joined: Posts: 365
    edited April 1
    noodalls wrote: »
    telesniper wrote: »
    noodalls wrote: »
    Pretty sure my 780TI doesn't do gsync, and even if it did, I run the HDMI out to an HDMI to component converter, which definitely doesn't support G-Sync.

    Updated with at least 10 new tests, mainly old PS3 controllers. Still have another 4 PS4 controllers to test, and a few on the X360.

    Could you possibly test UFB in forced mode for some PlayStation games, I mean force PS4 mode on a PS3 and vice versa? Curious to see if there is any difference. Thank you for your thorough testing!

    Btw, Gsync should work fine for your 780Ti, but yeah DP not HDMI... = /

    I will look to do this at some point. From memory Nikogel360's conclusion was that setting the controller to PS4 on a PS3 system worked best, and they questioned why you even need a PS3 mode (presumably compatibility).

    Thanks! That was my feeling just from playing (placebo maybe), but on pc, I need to set it to PS3 and use the confusing inputmapper 2.0 as a wrapper. That can get 1ms polling but it was a struggle to setup. If I use PS4 mode, the lowest it goes for me was 4ms = /. inputmapper 1.5 can set an actual DS4 to 1ms easily though FYI, in case you do get into testing pc lag, though it doesn't seem to work with the UFB or much else.
  • noodallsnoodalls Joined: Posts: 408
    Large update - I've devised a way to convert the raw data into an average, I have updated this on the games posts and ordered them from fast to slow. Will apply this to controllers next.
  • lionhartlionhart Joined: Posts: 3
    @noodalls --- can you please test Brooks ps2 convertor to ps4 .https://www.focusattack.com/brook-super-converter-playstation-2-to-ps3-ps4-adapter/
    I have heard lot of good things about this convertor.. Thanks in advance
  • noodallsnoodalls Joined: Posts: 408
    lionhart wrote: »
    @noodalls --- can you please test Brooks ps2 convertor to ps4 .https://www.focusattack.com/brook-super-converter-playstation-2-to-ps3-ps4-adapter/
    I have heard lot of good things about this convertor.. Thanks in advance

    If I can get access to it I will, but that goes for most things. The other thing to mention would of course be, no one has done input lag for PS2 controllers, so that would need to be sorted out.
  • lionhartlionhart Joined: Posts: 3
    That would be great and more over it would be interesting to know if there is any lag in Ps2 controller .
  • noodallsnoodalls Joined: Posts: 408
    So I got around to testing some PC games. They are now posted above in their own section, and I have also compared two modes of the UFB for PC.

    I was holding off on PC for a while for a few reasons. Firstly, the environment is not standardised. I've posted my specs, but have never really dived into my graphics cards settings. At least on PS4 we only have to content with PS4 and PS4Pro (unpublished, but my testing suggests it makes no difference to UMvC3). Then, there are individual game settigns as well.

    My capture device is an El Gato HD 60 Pro, which is in my PC. Without two monitors it was very difficult to capture and have the game running on the same PC. The solution, unsurprisingly was to buy another monitor.

    Also, every time I plug in the capture device, the computer seems to want to output at 1080p30 or 720p60, which is not really useful. I overcame this using a splitter, initially just connected to a monitor to make it output 1080p60 and then plugging an additional HDMI cable into the lag testing setup. I wasn't sure if the splitter would add input lag itself, but having gone back and tested (PS3 BBCPE split and non-slpit) it seems to change it by about a ms or less, so I'm happy enough.


    Finally, SFV PC which I'm sure is the game that people are most interested in, seems to be very buggy on my system. It starts lagging under 60fps apparently after any period of time playing, so I always had to load up, get to training mode quickly, turn command history on each time (thanks capcom) and get the test done asap before the frames dropped below 60fps. Interestingly enough, the one signal triggering two controllers is the only one not affected by frame drops.

    Anyway, I overcame those issues and managed to capture most of the relevant games that I had on steam. I think the only one I've missed is USF4.

    Anyway, I'll keep testing what I can when I can. I should be able to do injustice 2, Rev 2 and Tekken 7 in the coming weeks, and have also some ideas about testing network lag using this method, but probably need to incubate that one a bit longer. Glad I've got most of the work done though, as when Tekken 7 comes out, I'll likely turn my attention to testing the system and Eddy in that game.
  • StrtFghtrMstrStrtFghtrMstr SRnk1VaBeachAlphaTeam Joined: Posts: 518 ✭✭✭✭✭ OG
    malalol wrote: »
    Noodalls is there any chance you could test the razer panthera with the updated firmware? Thanks

    Tested my Panthera with original and updated firmware.
    • Original 1.00
    • Updated to FW 1.01 and some Brook Sniper Adapter testing
    Just a veteran player enjoying competitive SFV & the CPT
    -Kaillera veteran (GodWeapon Anti3d)
    -SFA3 Replay Tournament Champion (21-0)
    -Sticks & Setups currently owned
    -Namco w/HFC/SilentKuros/SilentHayabusa-Zippys
    -Namco stock
    -VLX 360 w/JLF+Silent Zippy&uSW mod/OBS-MX Reds+Silent O-Rings/Qanba/Seimetsu/PCBs360VX+HFC4, Jansen x5 19MM Turbo Panel
    -VLX 360 Stock
    -TE-S Six-Axis PCB w/ShinJN adapter
    -H2H setups: Zowie RLH2460HT, Asus VX238H-W & Monoprice 8204
  • noodallsnoodalls Joined: Posts: 408
    edited May 11
    A recent video about input lag by NX gamer about input lag came out.


    It inspired me to test some 3d first person shooters. I tend to pick games that have demos so I can compare PS4 vs X1, as this was the main point of his post. Haven't done full analysis on them, just a quick check.

    Resident Evil 7 demo (X1 appears ~1F faster) - note, only really had access to blocking animation to test, happens on F12/13).
    Doom demo
    PS4 (reponse on F6)
    X1 (response on F6)
    Prey Demo
    PS4 (response on F13)
    X1 (response on F9)
    So, I wouldn't put too much weight on the RE7 results. Doom appears quite fast (perhaps not compared to fighting games), with the same response time across systems. Prey is quite slow on X1, but 4F slower again on PS4 (note this was the first game I captured in 30fps, so it's actually only 2F slower as every second frame is repeated. However, given that 4F @ 60fps = 66.66ms, and 2F @ 30ms = 66.66ms, and my capture card still generates 60fps, I've left it be).
  • comoesacomoesa not too bad.. Joined: Posts: 1,168
    I guess Injustice 2 is next, eh.

    But quick question are the result listed for games that have a 1 frame difference between command history animaton, do the results follow the command history or animation?
    FOREVER NEVERMORE
  • noodallsnoodalls Joined: Posts: 408
    comoesa wrote: »
    I guess Injustice 2 is next, eh.

    But quick question are the result listed for games that have a 1 frame difference between command history animaton, do the results follow the command history or animation?

    The results refer to the animation, with a note regarding where the command appears. I do this as I figure what people are actually interested in is when the animation changes, as this is what they will react to.

    Also, there is some strange variations, e.g. SFV there doesn't seem to be a completely consistent relationship between the command history and the animation.
  • NeverYouMindNeverYouMind Joined: Posts: 661
    @noodalls I believe your tests are slightly off.

    For example, you have Street Fighter V at 88.6ms (5.3f), whereas it is at 117ms (7.0f) according to another source.

    You also have KoF XIV at 76.5ms (4.6f) whereas another source has it at 100ms (6.0f).

    Given that you have PS3 version of TT2 at 94.0ms (5.6f) and the other source has 116.7 (7.0f), the Tekken 7 input lag of 120.1ms (7.2f) is probably closer to 9f.

    https://displaylag.com/video-game-input-lag-database/
    http://www.tekkenzaibatsu.com/forums/showthread.php?s=3e9cd873d9e0c755d578705fe0a9d360&threadid=131923&perpage=20&pagenumber=2
    http://ps360.ldblog.jp/archives/53791203.html
  • noodallsnoodalls Joined: Posts: 408
    I always recommend not comparing my results to other results, but rather comparing them within.

    I have messaged the person who wrote the front page article and asked him to correct that.

    Having said which, when I last checked my results versus displaylag's results, we seemed to have a fairly consistent difference between results for most games.

    The method I use does result in faster results than other methods, but I'm fairly happy to justify why that is the case.
  • NeverYouMindNeverYouMind Joined: Posts: 661
    I was under the impression that you were doing these tests from the sake of comparison, but the the resulting articles seem to have created considerable inconsistency due to a lack of context. Thank you for clarifying.
  • loaloaloaloa Joined: Posts: 2
    Anyone know if the updated Hrap4 kai (with hayabusa buttons) we get in the west uses the same PCB as the hori used in the test here?
  • handa711handa711 Joined: Posts: 143
    Remember when Sony said the new DS4 would have less input lag when wired?
  • SUGATASUGATA Joined: Posts: 15
    handa711 wrote: »
    Remember when Sony said the new DS4 would have less input lag when wired?

    the same question. What is the reason to use USB wired NEW DS4 if it has more input lag than wireless old DS4?
  • SUGATASUGATA Joined: Posts: 15
    noodalls wrote: »
    I always recommend not comparing my results to other results, but rather comparing them within.

    I have messaged the person who wrote the front page article and asked him to correct that.

    Having said which, when I last checked my results versus displaylag's results, we seemed to have a fairly consistent difference between results for most games.

    The method I use does result in faster results than other methods, but I'm fairly happy to justify why that is the case.

    Very ineteresting to know the input lag for Tekken 7 on PC (Vsync On/Off) in comparison to PS4?
    Also, is there any difference in input lag between PS4 and PS4 Pro?
  • NeverYouMindNeverYouMind Joined: Posts: 661
    Noodalls has tested input lag on PC to be 105.8ms for Tekken 7.


    If you take his BBCPE PC test of 56.2ms (3.4f) and adjust for his methodology it comes out to around 66.7ms (4f), there is a difference of 10.5ms (0.6f). If you adjust his Tekken 7 PC result it comes out to around 116.3ms (7.0f).

    If you take his BBCPE PS4 test of 42.9ms (2.6f) and adjust for his methodology it comes out to around 66.7ms (4f), there is a difference of 23.8ms (1.4f). If you adjust his Tekken 7 PS4 result of 120.5ms (7.2f), it comes out to 144.3ms (8.7f).

    In other words there is about a 2f input delay reduction on PC. There is also a 1f input delay reduction on XBONE. He also confirmed that V-sync and Pro have no effect on his results.
  • comoesacomoesa not too bad.. Joined: Posts: 1,168
    Noodalls has tested input lag on PC to be 105.8ms for Tekken 7.


    If you take his BBCPE PC test of 56.2ms (3.4f) and adjust for his methodology it comes out to around 66.7ms (4f), there is a difference of 10.5ms (0.6f). If you adjust his Tekken 7 PC result it comes out to around 116.3ms (7.0f).

    If you take his BBCPE PS4 test of 42.9ms (2.6f) and adjust for his methodology it comes out to around 66.7ms (4f), there is a difference of 23.8ms (1.4f). If you adjust his Tekken 7 PS4 result of 120.5ms (7.2f), it comes out to 144.3ms (8.7f).

    In other words there is about a 2f input delay reduction on PC. There is also a 1f input delay reduction on XBONE. He also confirmed that V-sync and Pro have no effect on his results.

    What do you mean by this.

    FOREVER NEVERMORE
  • NeverYouMindNeverYouMind Joined: Posts: 661
    edited June 12
    He has different setups for his tests on PC and PS4. Using his BBCPE tests across systems allows for accurate comparison. Also, as the method he uses gives slightly faster results than other methods it requires a minor adjustment for accurate comparison with other sources.
  • comoesacomoesa not too bad.. Joined: Posts: 1,168
    He has different setups for his tests on PC and PS4. Using his BBCPE tests across systems allows for accurate comparison. Also, as the method he uses gives slightly faster results than other methods it requires a minor adjustment for accurate comparison with other sources.

    Yes, I get that. I wanted you to explain the nuts and bolts of how you adjusted. I should have been more clear.
    FOREVER NEVERMORE
  • NeverYouMindNeverYouMind Joined: Posts: 661
    edited June 14
    Please disregard anything I posted previously. For starters I made the wrong assumption that BBCPE had 4 frames of input lag/buffer built in like Xrd instead of 3. With that adjustment 6ms would need to be deducted from the PC version results of T7 making it 100ms (6f). Also there was a 8ms (BBCPE) to 28ms (SFV) discrepancy between PS4 results of https://displaylag.com/video-game-input-lag-database/ and those of Noodalls. That would likely make PS4 version of T7 have about 133ms (8f) input lag in that range of error (128ms to 148ms). That would put the XBONE version of T7 at 117ms (7f) of input lag.

    Input Lag in Tekken Games:
    5f - Tekken 5 (ARC/PS2/PSP/PS3); Tekken 6 (PS3/PSP/X360);
    6f - Tekken 6 (ARC/XBONE); Tekken 7 (PC);
    7f - Tekken Tag 2 (ARC/PS3/X360); Tekken 7 (XBONE);
    8f - Tekken Tag 2 (XBONE); Tekken 7 (PS4);

    http://ps360.ldblog.jp/archives/51638829.html
    http://ps360.ldblog.jp/archives/53791203.html
    Post edited by NeverYouMind on
  • noodallsnoodalls Joined: Posts: 408
    He has different setups for his tests on PC and PS4. Using his BBCPE tests across systems allows for accurate comparison. Also, as the method he uses gives slightly faster results than other methods it requires a minor adjustment for accurate comparison with other sources.

    The difference in the method between the consoles and PC is that the PC means I have to use a splitter. For whatever reason, my graphics card won't output to my testing device at 1080p60 unless I use a splitter, output to a monitor first and then split off the signal to the testing device. Other than that, the hardware is exactly the same.

    I generally don't enjoy testing things on PC, as I posted on twitter about basically.

    1. I need to use a splitter, which I don't for any other tests
    2. Every time you post any PC result, inevitably the next response will be "what about with vsync on/off? what about with borderless/full screen? what about on a graphics card that I don't own?"
    3. Every test takes 20-30mins to do properly. So every variation takes extra time. This is why I'm secretly happy that I haven't seen any variation with pro/boost mode etc.
    4. There have been some times where I've got bizarre results from the PC games, which doesn't seem to happen on consoles. I can't quite explain it, but suspect it's a combination of dropped frames/recording on the same PC as I'm playing on (even when the frame rate stays at 60fps). Some of the results have been significantly faster than expected. When I tested PC T6, I recorded with a camera as well to ensure that the results were true before posting.
    5. Web camera doesn't seem to ever capture at 60fps, no matter what I try. I have both the new logitech and the razer, and in neither can I get 60fps in Obs/El Gato. This would greatly improve things.
    6. My PC is 3 years old, so might have an effect on results.





  • noodallsnoodalls Joined: Posts: 408
    Also there was a 8ms (BBCPE) to 28ms (SFV) discrepancy between PS4 results of https://displaylag.com/video-game-input-lag-database/ and those of Noodalls. That would likely make PS4 version of T7 have about 133ms (8f) input lag in that range of error (128ms to 148ms). That would put the XBONE version of T7 at 117ms (7f) of input lag.

    I've spent some time comparing my results to displaylag.com's results. I've actually reached out on twitter/facebook before but never heard back. In any event, if you compare his previous results
    https://web.archive.org/web/20161203054902/http://www.displaylag.com/video-game-input-lag-database/
    to mine, they seem to differ by a quite consistent amount on PS4.

    USF4 X360 85 vs 57.4 (28ms difference)
    USF4 PS4 89 vs 59 (30ms)
    GGXrd PS4 89 vs 58 (31ms)
    MKX PS4 105 vs 75 (30)
    USF4 PS3 107 vs 77 (30ms)
    KOFXIV Demo 107 vs 76 (31ms)
    SFV 128 vs 88ms (30ms)
    etc. etc.

    The only one significantly different was Killer Instinct 81 vs 64ms (16ms). I don't know why this one was the odd one out, as I've gone back and I get the same result.

    Now, at this time he was using the XIM4 converter with a keyboard.

    More recently, he has started testing with a LED and Brook UFB (same as me). When I compared the UMVC3 results.

    X360 77ms vs 64ms (13ms difference)
    X1 80ms vs 62ms (18ms)
    PS4 89ms vs 102ms (13ms)

    and if we compare the most recent MVCI PS4 88ms vs 102 ms (14ms difference)

    So his results used to be fairly consistently 30ms slower than mine, now they are much closer to 1F. Presumably the XIM4 converter was adding a frame of lag then?

    However, when you look at his current database, it appears there are results mixed together from old and new tests. Some of the difference probably comes from the rounding, but some I don't think does.

    e.g.

    USF4 PS4 used to be 5.1F, now 4F
    UMvC3 X360 used to be 4.6F now 4F
    GGXrd Rev2 used to be 5.3F now 4F
    MKXL used to be 6.3F now 5F
    KOF XIV used to be 6.4F now 6F
    UMvC3 PS4 used to be 6.1F now 6F
    SFV used to be 7.3F now 7F

    So comparing old results to new results, some are just .1F different, and others are 1.3F different.

    To me it looks like some results are new but others old, and all have been rounded down (never up) to the nearest frame.










  • NeverYouMindNeverYouMind Joined: Posts: 661
    I get that PC testing is a pain for you with all the extra steps you go through. I read an old topic with more information on your testing methods and I know that it is very time consuming and is a labor of love. It is indeed very difficult to compare results between different methodologies, especially when they are poorly documented or filled with inconsistencies. I am just trying to find a middle ground between a limited set of results. Thank you for providing more information on input lag, there are very few sources remaining.

    That said, there are some variations in your own past results, namely VF5:FS.
    http://forums.shoryuken.com/discussion/209329/input-lag-for-different-games
  • noodallsnoodalls Joined: Posts: 408
    That said, there are some variations in your own past results, namely VF5:FS.
    http://forums.shoryuken.com/discussion/209329/input-lag-for-different-games

    This one is interesting. So, everything on this thread is by the same method, whereas the results there were from an earlier way of testing. Essentially I waited until I worked out a lot of the flaws before starting this thread as a clean break. My point was, I haven't mixed and matched results here.

    But, for the longest time, I thought FS was a frame slower than Vanilla. Turns out the move I was using (Pai standing P) was a frame slower in VF5FS. Move selection is not mentioned but is quite important in checking input lag. I struggled with SFV for a long time using standing jab (my go to attack as it tends to animate the fastest) as often the animation on the first frame is not the same. It seems to blend depending on what part of the neutral stance Ryu was in, and seems to sometimes even skip the animation until the 2nd frame. Learning this, I went with his standing medium punch, which animates clearly and consistently on the first frame.

    Another thing that comes up is command history. In most games there is a consistent relationship between when the command appears and when the animation begins. I assumed I could use this for all games. But, in SFV and now Tekken 7, there is variation. E.g. in Tekken for the last 5 games, probabably all the way back to Tekken 3 the command would appear one frame before the animation begins. In Tekken 7 it can appear before or on the first frame of animation. I'm not sure if this is just an unreal engine 4 quirk or not.

  • NeverYouMindNeverYouMind Joined: Posts: 661
    edited June 15
    It is interesting that there are so many of these small variations. However, for whatever reason, Final Showdown feels slow to me to this day. I know they added startup to throws and other things, however the biggest discrepancy I have found was trying to do standing block after a blocked 2P. It feels really awkward as 2P was such an important part of Virtua Fighter and in combination with other additions it definitely makes the game feel heavier to control relative to other installments.
  • noodallsnoodalls Joined: Posts: 408
    Displaylag have updated their results again. To now compare (difference in brackets).

    GGXRD PS4 58.7 vs 70 (12ms, note I tested Rev2 while they tested Xrd, I haven't retested Xrd but on previous tests it was the same as Rev 1/2)
    USF4 PS4 59.1 vs 75 (15ms)
    UMVC3 X360 64.4ms vs 77ms (13ms)
    Injustice 2 PS4 91ms vs 92.4ms (2ms!)
    MKXL PS4 75 vs 90ms (15ms)
    DOA5LR PS4 75 vs 90ms (15ms)
    KOFXIV 76.5ms vs 93ms (16.5ms)
    TTT2 PS3 94 vs 100ms (6ms!)
    SFV PS4 88.6ms vs 100ms (11ms)
    UMVC3 PS4 89.1 vs 100ms (11ms)
    MVCI PS4 88.8ms vs 102ms (13ms)
    T7 PS4 120ms vs 128ms (8ms)

    So now our results differ by between half to one whole frame (with Injustice 2 as a pretty big outlier.)

    One thing that I had thought about, given that the screen updates from the top to the bottom, the different move used could potentially affect the result. For example, if you are looking at an animation change at the top of the screen, such as the life bar, it will occur almost 16ms ahead of an animation change at the bottom. And I'm not sure about video recording for the lighting up of the button, but I wonder if a similar issue may occur depending on whether the LED is at the top or the bottom of the image.

    My method shouldn't be affected by this.









  • noodallsnoodalls Joined: Posts: 408
    edited June 21


    Video explaining my input lag tests for Tekken 7.



    Digital foundry using my results (appropriately referenced).
    Post edited by noodalls on
  • comoesacomoesa not too bad.. Joined: Posts: 1,168
    Congrats!
    FOREVER NEVERMORE
  • SUGATASUGATA Joined: Posts: 15
    noodalls wrote: »
    comoesa wrote: »
    I guess Injustice 2 is next, eh.

    But quick question are the result listed for games that have a 1 frame difference between command history animaton, do the results follow the command history or animation?

    The results refer to the animation, with a note regarding where the command appears. I do this as I figure what people are actually interested in is when the animation changes, as this is what they will react to.

    Also, there is some strange variations, e.g. SFV there doesn't seem to be a completely consistent relationship between the command history and the animation.

    May be now after 1.03 patch for T7 on PS4 needs some corrections and new tests?


  • noodallsnoodalls Joined: Posts: 408
    Somebody asked for me to post my source code.
    int button=0;
    int set=1;
    int mode=1;

    int red=62;
    int blue=63;
    int red_button=64;
    int blue_button=65;
    int red_LED=66;
    int blue_LED=67;

    int red_on_done=0;
    int red_off_done=0;
    int blue_on_done=0;
    int blue_off_done=0;

    int x=0;
    int setting=1;
    unsigned long time1;
    unsigned long time2;
    unsigned long time3;
    unsigned long time4;
    unsigned long time5;
    unsigned long time6;
    unsigned long time7;

    int long red_on=00000;
    int long red_off=16666;
    int long blue_on=00000;
    int long blue_off=1000;
    int long cycle = 500250;
    int skip = 00000;

    #include "SPI.h"
    #include "Adafruit_GFX.h"
    #include "Adafruit_ILI9341.h"
    #include "Wire.h" // this is needed for FT6206
    #include "Adafruit_FT6206.h"
    // For the Adafruit shield, these are the default.
    #define TFT_DC 9
    #define TFT_CS 10
    #define SD_CS 4
    Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC);
    Adafruit_FT6206 ctp = Adafruit_FT6206();
    int cs_pin=53;





    void setup() {

    pinMode(cs_pin,OUTPUT);


    tft.begin();
    ctp.begin();
    tft.setTextColor(ILI9341_WHITE); tft.setTextSize(2);
    tft.setRotation(0);
    tft.fillScreen(ILI9341_BLUE);
    tft.fillRect(0,140,120,120,ILI9341_RED);
    tft.fillRect(120,140,120,120,ILI9341_BLUE);
    tft.fillRect(0,250,240,120,ILI9341_BLACK);
    tft.fillRect(0,0,240,140,ILI9341_BLACK);

    tft.drawRect(0,0,40,70,ILI9341_WHITE);
    tft.drawRect(40,0,40,70,ILI9341_WHITE);
    tft.drawRect(80,0,40,70,ILI9341_WHITE);
    tft.drawRect(120,0,40,70,ILI9341_WHITE);
    tft.drawRect(160,0,40,70,ILI9341_WHITE);
    tft.drawRect(200,0,40,70,ILI9341_WHITE);

    tft.drawRect(0,70,40,70,ILI9341_WHITE);
    tft.drawRect(40,70,40,70,ILI9341_WHITE);
    tft.drawRect(80,70,40,70,ILI9341_WHITE);
    tft.drawRect(120,70,40,70,ILI9341_WHITE);
    tft.drawRect(160,70,40,70,ILI9341_WHITE);
    tft.drawRect(200,70,40,70,ILI9341_WHITE);

    //tft.drawRect(0,140,120,120,ILI9341_BLUE);
    //tft.drawRect(0,60,120,60,ILI9341_BLUE);
    //tft.drawRect(0,120,120,60,ILI9341_WHITE);

    //tft.drawRect(120,0,120,60,ILI9341_RED);
    //tft.drawRect(120,60,120,60,ILI9341_RED);
    //tft.drawRect(120,120,120,60,ILI9341_WHITE);

    pinMode(blue,OUTPUT);
    pinMode(red,OUTPUT);
    pinMode(red_button,OUTPUT);
    pinMode(blue_button,OUTPUT);
    pinMode(red_LED,OUTPUT);
    pinMode(blue_LED,OUTPUT);
    digitalWrite(red_button,HIGH);
    digitalWrite(blue_button,HIGH);
    digitalWrite(blue,HIGH);
    digitalWrite(red,HIGH);
    digitalWrite(red_LED,HIGH);
    digitalWrite(blue_LED,HIGH);



    tft.setCursor(1,141);
    tft.print("ON");
    tft.setCursor(1,171);
    tft.print(red_on);

    tft.setCursor(1,201);
    tft.print("OFF");
    tft.setCursor(1,231);
    tft.print(red_off);

    tft.setCursor(1,271);
    tft.print("CYCLE");
    tft.setCursor(1,301);
    tft.print(cycle);

    tft.setCursor(121,141);
    tft.print("ON");
    tft.setCursor(121,171);
    tft.print(blue_on);

    tft.setCursor(121,201);
    tft.print("OFF");
    tft.setCursor(121,231);
    tft.print(blue_off);


    tft.setCursor(121,271);
    tft.print("SKIP");
    tft.setCursor(121,301);
    tft.print(skip);
    }

    void loop() {

    if (mode==1){if ((time2)<(micros())){
    time1=micros();skip=0;mode=2;}}

    if(mode==2){

    if ((micros()>time2+red_on) && red_on_done==0){time3=micros();digitalWrite(red_LED,HIGH);digitalWrite(red,LOW);digitalWrite(red_button,HIGH);red_on_done=1;}
    if ((micros()>time2+blue_on) && blue_on_done==0){time4=micros();digitalWrite(blue_LED,HIGH);digitalWrite(blue,LOW);digitalWrite(blue_button,HIGH); blue_on_done=1;}
    if ((micros()>time2+red_off) && red_off_done==0){time5=micros();digitalWrite(red_LED,LOW);digitalWrite(red,HIGH);digitalWrite(red_button,LOW);red_off_done=1;}
    if ((micros()>time2+blue_off) && blue_off_done==0){time6=micros();digitalWrite(blue_LED,LOW);digitalWrite(blue,HIGH);digitalWrite(blue_button,LOW);blue_off_done=1;}

    if(micros()>time2+60000){mode=3;}


    }

    if(mode==3){

    if (ctp.touched())
    {
    TS_Point p = ctp.getPoint(); // x = 240, y= 320


    if(p.x>200){if(button==0){
    if(p.y>250 && p.y>180){set++;}
    if(p.y<250){set--;}
    if(set<1){set=6;}
    if(set>6){set=1;}
    tft.setCursor(2,30);tft.fillRect(2,30,20,20,ILI9341_BLACK);tft.print(set);}}




    if(p.y>180){
    if(button==0){x=0;
    if(p.x>0 && p.x<40 && p.y>180 && p.y<250){x=x-1;}
    if(p.x>0 && p.x<40 && p.y>250 && p.y<320){x=x+1;}

    if(p.x>40 && p.x<80 && p.y>180 && p.y<250){x=x-10;}
    if(p.x>40 && p.x<80 && p.y>250 && p.y<320){x=x+10;}

    if(p.x>80 && p.x<120 & p.y>180 && p.y<250){x=x-100;}
    if(p.x>80 && p.x<120 & p.y>250 && p.y<320){x=x+100;}

    if(p.x>120 && p.x<160 & p.y>180 && p.y<250){x=x-1000;}
    if(p.x>120 && p.x<160 & p.y>250 && p.y<320){x=x+1000;}


    if(p.x>160 && p.x<200 & p.y>180 && p.y<250){x=x-10000;}
    if(p.x>160 && p.x<200 & p.y>250 && p.y<320){x=x+10000;}

    if (set==1){red_on=red_on+x;
    if (red_on>50000){red_on=50000;}
    if (red_on<0){red_on=0;}
    tft.fillRect(0,171,120,20,ILI9341_RED);
    tft.setCursor(1,171);
    tft.print(red_on);}

    if (set==2){ red_off=red_off+x;
    if (red_off>50000){red_off=50000;}
    if (red_off<0){red_off=0;}
    tft.fillRect(0,231,120,20,ILI9341_RED);
    tft.setCursor(1,231);
    tft.print(red_off);}

    if(set==3){ cycle=cycle+x;
    if (cycle>1999999){cycle=1999999;}
    if (cycle<100000){cycle=100000;}
    tft.fillRect(1,301,110,20,ILI9341_BLACK);
    tft.setCursor(1,301);
    tft.print(cycle);}

    if (set==4){blue_on=blue_on+x;
    if (blue_on>50000){blue_on=50000;}
    if (blue_on<0){blue_on=0000;}
    tft.fillRect(121,171,120,20,ILI9341_BLUE);
    tft.setCursor(121,171);
    tft.print(blue_on);}

    if(set==5){blue_off=blue_off+x;
    if (blue_off>50000){blue_off=50000;}
    if (blue_off<0){blue_off=0000;}
    tft.fillRect(121,231,120,20,ILI9341_BLUE);
    tft.setCursor(121,231);
    tft.print(blue_off);}

    if(set==6){skip=x;
    tft.fillRect(121,301,120,20,ILI9341_BLACK);
    tft.setCursor(121,301);
    tft.print(skip); }



    button=1;
    tft.fillRect(2,100,130,20,ILI9341_BLACK);tft.setCursor(2,100);
    tft.print(time5-time3);//tft.print("-");//tft.print(time4-time3);
    }}}

    else

    {button=0;}
    red_on_done=0;
    red_off_done=0;
    blue_on_done=0;
    blue_off_done=0;
    time2=time1+cycle+skip;mode=1;}

    }
  • LagmanLagman Joined: Posts: 4
    First and foremost, thank you a lot for your hard work, noodalls. It's great that there are curious mind like yours willing to put in the work so we can all benefit from the results of your research.

    Now that is out of the way: I'm still a complete layman, and I have some questions on this topic.

    Are you familiar with Teyah's work? He also tested sticks, pcbs and controllers for input lag. Here are his results:
    http://www.teyah.net/sticklag/results.html

    Let's take the HRAPV4 as an example. His results listed it as having 4.80ms of lag, while yours puts it at 48ms. His ps360+ results listed it as having no lag at all on version 1.65 (and upwards, I presume). Yours listed it at 44.4ms for version 1.66.

    Here is his methodology:
    http://www.teyah.net/sticklag/overview.html

    What explains the discrepancy in your results? It's a discrepancy of over 2 frames (~33.3ms) in both cases. Being a complete layman on the subject, I just see the very different numbers and get confused. Is it due to a difference in the testing method or something like that?

    Again, my gratitude to both of you for you work (I'm fairly certain Teyah has a SRK account); I'm merely curious and very interested on this topic. Please excuse me if my questions are stupid.
«1
Sign In or Register to comment.