Jump to content

Joystick input lag (FFB related?)


Vertigo72

Recommended Posts

This came up in another discussion, that sometimes there is a significant delay between moving the joystick and the the stick moving in game. Ive seen almost 2 seconds despite decent frame rates.

 

I tried recording the effect. Of course as always, when you want to record an issue, you cant reproduce it. So what i did record is no where near as bad as Ive seen it, and not at all a problem while flying, but it still shows the issue I think:

 

${1}

 

direct link:

&feature=youtu.be

 

the top indicator is a joystick testing app and has no meaningful input lag, it actually shows the position of my joystick.

 

As you will see, the amount of delay in the video varies between almost nihil to noticeable. I didnt get to reproduce the times its bad and dramatic, but it happens.

 

Im using a microsoft sidewinder FFB2 stick


Edited by Vertigo72
Link to comment
Share on other sites

I've used software to analyse latency before, I think it was called LatencyMon or similar. It will tell you if a peripheral/USB device is causing latency on your system.

 

Also try turning off Force Feedback in DCS and see if it makes any difference?

 

I use MS FFB2 and don't have latency problems, so I'm sure it's fixable.

 

Regards,

 

Mac

W10 64

I7 4790k o/c to 4.6Ghz

Asus Maximus Ranger VII

24gb DDR3 RAM @ 2133

Asus Strix 1080ti OC

ASUS ROG G-sync 27" monitor

DCS on M2 drive Samsung 960 Pro

MS FFB2 with F-16 grip

CH pro throttle

MFG Crosswind pedals

TrackIR 5

3 x Bodnar button & axis boxes

Link to comment
Share on other sites

Its not the stick causing latency. That joystick tester app is showing a real time response, it works perfectly fine. Its DCS or the F14 module that is not reacting very fast on my inputs,

 

Havent tested extensively yet in other modules, but Ive only noticed in the tomcat. I may try turning force feedback off and perhaps disabling the F14 stabilisation stuff see if that makes a difference

Link to comment
Share on other sites

This is almost certainly a hardware issue on your system. A few people have reported this in the past but I don't remember what the solution was. I use a MS Sidewinder 2 to test FFB and I cannot reproduce this issue.

Systems Engineer & FM Modeler

Heatblur Simulations

Link to comment
Share on other sites

How can it be a hardware issue when the joystick monitoring app (ie software ) doesnt show any delay? its running on the same computer and is getting the same data as DCS (and no, that app isnt causing it, I just installed it to be able to demonstrate).

Link to comment
Share on other sites

Yes, I have vsync enabled, but the "input lag" that creates is not what you are seeing here. vsycn results in delayed rendering which may mean 1 or maybe 2 frames, ie 16ms @60 FPS which only matters to hardcore first person shooter gamers. Its not the 1600ms I sometimes see @60+FPS

 

BTW, its not only the joystick input. Ive seen it with zooming too (I use a slider on my hotas to zoom). Game runs smooth but zooming lags really far behind what I do on the hotas.


Edited by Vertigo72
Link to comment
Share on other sites

If it's not your hardware then it might be DCS or some other setting. This problem does not happen to everyone using FFB on the Tomcat and there's nothing we really do other than ask DCS if FFB devices are present. The FFB API in DCS is very rudimentary, if any input lag is happening we have no control over it from our side. DCS handles all the inputs.

Systems Engineer & FM Modeler

Heatblur Simulations

Link to comment
Share on other sites

The input overlay thingy, that shows control position in DCS, does that show "raw DCS" joystick data that you guys work with, or is that after it has been processed by the DCS module? If for instance the stabilisation augmentation in the F14 (or some fly by wire or even an autopilot ) would change the position of the stick, would it show on that overlay or will that overlay always show the joystick position that DCS reads?

Link to comment
Share on other sites

I believe it's a raw input indicator, post-curves (if you have any). It could be a USB power issue or something. Have you tried other USB ports? Are you running the stick through a USB hub? The fact that this only happens to a handful of FFB users and I can't reproduce it is a strong indicator that it's something related to your system in particular.

Systems Engineer & FM Modeler

Heatblur Simulations

Link to comment
Share on other sites

If the indicator shows raw input then the problem almost has to be with DCS, rather than the F14 module, because the indicator overlay lags exactly the same as the stick in the F14. Ill do some more testing if I can reproduce it in other modules.

 

As for being specific to some users; Im open to anything, or any combination of things but not to this being a hardware or USB problem. Did you watch the video? DirectX is getting the correct stick position and in real time, no delays, otherwise that other app would not be showing the correct stick position when DCS at the same moment shows a delayed position. It also doesnt seem to happen when on the ground in DCS, only when flying.

 

There isnt much special about my setup otherwise, except maybe atypical that I run 3 monitors (only 1 in DCS) and a track ir but most of us have that I assume. No curves btw.


Edited by Vertigo72
Link to comment
Share on other sites

Yeah, all I can say is that it's probably something related to your system or DCS install. This doesn't happen to everyone using FFB and we just get the inputs from DCS via the API. The stick animation in the cockpit itself has a bit of fast filtering on it to smooth things out, but has nothing to do with the actual input we send to the flight controls. This issue seems isolated to a handful of FFB users and I cannot reproduce any of these issues with my Sidewinder FFB2.


Edited by fat creason

Systems Engineer & FM Modeler

Heatblur Simulations

Link to comment
Share on other sites

Its not the stick causing latency. That joystick tester app is showing a real time response, it works perfectly fine. Its DCS or the F14 module that is not reacting very fast on my inputs,

 

Havent tested extensively yet in other modules, but Ive only noticed in the tomcat. I may try turning force feedback off and perhaps disabling the F14 stabilisation stuff see if that makes a difference

 

 

 

 

Agree but the stick poll rate being vastly higher than your FPS along with your 60hz monitor with vsync enabled has to interpolate the digital inputs between each of the frames you monitor outputs.

 

It's got nothing to do with the renderer itself but more to do with the time your peripherals have to fit inputs from your joystick in between each frame shown, this can also be exaggerated if you have multiple devices connected to a hub or if you use any form of USB extension lead.

 

 

might be worth disabling vsync just to test.

 

Here is an example:

Link to comment
Share on other sites

I disabled vsync because it costs less time than explaining why -honestly- this is not, and can not be the problem. But I tried it, same problem. I also disabled AFCS, no difference.

 

But I do have some more data that may be interesting. Its related to the throttle position somehow

 

When standing still on the ground, there is no delay, joystick and game stick are pretty much perfectly in sync. When I open my throttle, the issue comes and goes, even when still on the ground and barely have any speed. Later in take off roll I close the throttle (and desperately try to save the plane) and there is no delay. OPen it again, and it stutters again. Once airborne, closing the throttle doesnt seem to solve the issue.

 

I mostly tested roll this time, because it exhibits the same issue and is somwhat easier to see. Usually its fine, but occasionally it seems to just forget changing my stick position or does it really slowly. Worst effect around 1:45, but take off roll is quite interesting too:

 

 

 

When its reacting slow, switching views from cockpit to outside is also slow. You cant see that because you cant see when I press the buttons, but it took 1-2 seconds. All the while my framerates are 60+

 

So I tried the Bf109. I admit I havent really flown it yet, so maybe there is something I dont understand about that module, but its even weirder. Joystick response is as good as instant on roll, no problems. Its also instant on elevator, but only for a small range of the BF104 stick. If I pull back full on my joystick, the ingame stick moves only ~1/2 or less. It seems to have a stall prevention system in there that doesnt let me pull the stick all the way when Im too slow. when I insist, and keep the joystick back anyhow, it slowly feeds in the last part of elevator until its also full back in game. Confusing as heck. Have a look:

 

 

This does seem like a feature not a bug (?) but either this is the same "feature" as in the tomcat, just 10x worse (?) or its a bf109 specific "feature", but then the theory that the overlay shows raw input data then cant be right.


Edited by Vertigo72
Link to comment
Share on other sites

Some more findings:

- I can not reproduce it in the Su25. There is no lag there

- Unplugging my TCWS throttle doesnt make a difference

- Disabling "F14 FFB trim" setting doesnt make a difference

- removing my finger from the grip sensor (disabling FFB), doesnt solve the problem.

 

However:

 

- when I unplug my FFB2 USB connector in flight and plug it back in, once the joystick is detected again, I have no force feedback anymore but also no more delay. That does "solve" the problem.

 

I have to conclude the issue is somewhere with the F14 module and the way it handles FFB.

 

To help narrow down why it affects some and not others

- I use steam edition, open beta (can anyone with a FFB2 confirm they do not have this problem with steam+OB?)

- trackir (disabling it doesnt help)

- SRS, no other mods

- very average PC setup (ryzen 2600+, nVidia 1070, 16GB ram, nvme drive). Dont see a difference with this issue when <40 FPS or >120 FPS


Edited by Vertigo72
Link to comment
Share on other sites

Did you try plugging the FFB into a different USB port? Do you have both USB 2 & 3 on your machine? if so, try moving it between them.

 

Did you try disabling FFB in DCS to see if you get the same effect as unplugging and re-plugging?

 

My FFB runs on an external hub (powered) with no problems, along with 5 other controllers plugged in there.

 

I'm not on steam and don't have the Tomcat but will try it for you if it's still on free access when I get home later today

 

Regards,

 

Mac

W10 64

I7 4790k o/c to 4.6Ghz

Asus Maximus Ranger VII

24gb DDR3 RAM @ 2133

Asus Strix 1080ti OC

ASUS ROG G-sync 27" monitor

DCS on M2 drive Samsung 960 Pro

MS FFB2 with F-16 grip

CH pro throttle

MFG Crosswind pedals

TrackIR 5

3 x Bodnar button & axis boxes

Link to comment
Share on other sites

Its not a USB issue. It cant be when other apps running simultaneously with DCS, and polling the exact same directx input device show no delay.

 

USB 2 or 3 doesnt matter either (its in a USB 3 port, but our sticks dont even support that). Even USB 2.0 controllers have to support 125 μs polling interval. That is 0.000125 seconds or 8000Hz. Professional gamers may be able to tell a difference between a 250Hz and 2000Hz mouse, I sure as heck wouldnt but Im seeing delays of up to entire seconds, or ~10 thousand times more.

 

Powered hubs can help if you have trouble with devices getting power and getting disconnected or not working reliably. My joystick works reliably in every other app and module it even works perfectly fine in other apps at the same time as flying the F14 in DCS. (and MSFFB2 draw their power from the wall socket, so are unlikely to cause a USB power problem anyhow).

 

I'm not on steam and don't have the Tomcat but will try it for you if it's still on free access when I get home later today

 

Id appreciate that, but I thought the trial was over. There is another thread where 5 or more people have confirmed the same issue with the F14+FFb, so its not just me, its a matter now if figuring out why it affects some and not others so hopefully HB can reproduce it

Link to comment
Share on other sites

Just another thought, are you using any frame buffering? I know the nvidia cards have an option in the profile that can allow up to 4 bufferd frames.

 

Not sure if you are running this setting but i know that this can also cause a delay in input.

Link to comment
Share on other sites

No Im not. But lets do the math. 4 frames at 60FPS is 0.066 seconds and half as much at 120 FPS where I have the same problem. Again, that may matter to professional gamers, but Im not going to notice it and its certainly not gonna bother me in a flight sim. A one second delay would mean ~100 buffered frames. Thats why I said, this isnt caused by vsync or buffering or anything like that


Edited by Vertigo72
Link to comment
Share on other sites

This issue is likely something related to your system or DCS install itself and not the F-14 specifically. I have the exact same stick that I use for FFB dev work and mine works on the F-14 without issue, along with likely hundreds of other people who use FFB. If the F-14 specifically caused FFB issues this thread would be blowing up. We simply get the input state from DCS (it's the same for FFB and non-FFB), only difference with FFB is that we tell the stick where the neutral point is and send it a spring-stiffness value (which is constant, btw) via the API provided to us by ED. The API for FFB is very basic and we just send the stick information through it. How DCS handles inputs for FFB is not something I know much about and we have no control over what we get from DCS in terms of input values or how/when they are updated.

 

It seems like this issue occurs with a very very small percentage of FFB users which is a strong indicator that it's on a per-system basis. I'm very sorry I can't help you troubleshoot but it's unlikely that it's the F-14 specifically causing this. If I can ever reproduce this issue I'll make a post about it, I've just never seen it.

 

FWIW I run an i7 6700k, GTX1080, and 16GB of RAM, so by no means a top-tier system.

Systems Engineer & FM Modeler

Heatblur Simulations

Link to comment
Share on other sites

Im not doubting you when you say you arent seeing the same issue fat creason; but clearly others are, as there are a fair number of confirmations in the other thread and keep in mind that the issue is subtle most of the time. In my tests and videos Im making extreme movements to highlight/trigger the issue, but if you are gentle on the stick its not noticeable 99.9% unless you keep staring at the input overlay and are yanking the stick. I even read about it, and then posted I didnt have the same issue, as I dont tend to yank my stick around and simply never noticed. I had only noticed the occasional delayed and stuttering zoom input. Its like the wing snapping. Its not a problem for most of us, Im not sure I ever did it accidentally, but some ppl complain about it happening all the time. I dont think they are imagining their problem, there probably isnt anything different other than how we handle our sticks.

 

Anyway, as I wrote in the other thread, for some weird reason I can alleviate the issue by mapping my FFB2 controls onto a virtual vjoy joystick, and using that as input in DCS. Sounds like a stupid idea to begin with, that can only add latency, but I read it worked for some Kerbal players in early versions of the game where they had the same problem (not with FFB, but some joysticks in general particularly some saiteks), and it does really seem to work in DCS too. And if I double map the roll and pitch controls, I get to see both diamonds in the control input overlay, with the ffb one often lagging the vjoy one. I can not begin to think of an explanation for it. I dont have any drivers or anything installed for my FFB2. I do have joy2key installed, but dont use it in DCS.

 

(anyone wondering how I could tell them apart, I reversed the vjoy input in a test. So if I moved my stick left, the FFB2 indicator would go left, often with a slight delay, the vjoy one would go right with no meaningful delay. The inputs cancel out, but you can even sorta fly the plane based on the delay difference alone!).


Edited by Vertigo72
Link to comment
Share on other sites

Just catching up - I did test last night with the F14 as the trial had not ended when I got home.

 

No issues for me, sorry...

 

W10 64

I7 4790k o/c to 4.6

Asus Maximus ranger VII

24gb Ram @ 2133

1080ti

MS FFB2

CH pro throttle

MFG Crosswind pedals

TrackIR 5

3 x Bodnar button & axis boxes

 

 

Tested on latest stable and current beta

 

Regards,

 

Mac

W10 64

I7 4790k o/c to 4.6Ghz

Asus Maximus Ranger VII

24gb DDR3 RAM @ 2133

Asus Strix 1080ti OC

ASUS ROG G-sync 27" monitor

DCS on M2 drive Samsung 960 Pro

MS FFB2 with F-16 grip

CH pro throttle

MFG Crosswind pedals

TrackIR 5

3 x Bodnar button & axis boxes

Link to comment
Share on other sites

Im not doubting you when you say you arent seeing the same issue fat creason; but clearly others are, as there are a fair number of confirmations in the other thread and keep in mind that the issue is subtle most of the time. In my tests and videos Im making extreme movements to highlight/trigger the issue, but if you are gentle on the stick its not noticeable 99.9% unless you keep staring at the input overlay and are yanking the stick. I even read about it, and then posted I didnt have the same issue, as I dont tend to yank my stick around and simply never noticed. I had only noticed the occasional delayed and stuttering zoom input. Its like the wing snapping. Its not a problem for most of us, Im not sure I ever did it accidentally, but some ppl complain about it happening all the time. I dont think they are imagining their problem, there probably isnt anything different other than how we handle our sticks.

 

Anyway, as I wrote in the other thread, for some weird reason I can alleviate the issue by mapping my FFB2 controls onto a virtual vjoy joystick, and using that as input in DCS. Sounds like a stupid idea to begin with, that can only add latency, but I read it worked for some Kerbal players in early versions of the game where they had the same problem (not with FFB, but some joysticks in general particularly some saiteks), and it does really seem to work in DCS too. And if I double map the roll and pitch controls, I get to see both diamonds in the control input overlay, with the ffb one often lagging the vjoy one. I can not begin to think of an explanation for it. I dont have any drivers or anything installed for my FFB2. I do have joy2key installed, but dont use it in DCS.

 

(anyone wondering how I could tell them apart, I reversed the vjoy input in a test. So if I moved my stick left, the FFB2 indicator would go left, often with a slight delay, the vjoy one would go right with no meaningful delay. The inputs cancel out, but you can even sorta fly the plane based on the delay difference alone!).

 

 

If vjoy fixes the issue it points even more to the fact that it is not tomcat related. The Tomcat does not care about vjoy at all. What fat creason means is that while this might appear only for some and maybe even only on the Tomcat for fewer, it's still nothing on our side, or anything we can do about it. This is probably a general issue with DCS (as you see also ppl reporting it on other modules in the thread you mention), hence the best would be to address this issue as a general issue to ED directly.

Heatblur Simulations

 

Please feel free to contact me anytime, either via PM here, on the forums, or via email through the contact form on our homepage.

 

http://www.heatblur.com/

 

https://www.facebook.com/heatblur/

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...