Liftoff

Liftoff

View Stats:
rnguy Apr 27, 2020 @ 11:12am
Feature Request: Optional & Adjustable Latency
I just started playing Liftoff but I have one very real concern - it's too good! Having 0 latency is spoiling my real flying sessions. I have to spend some time adjusting each time I go back and forth and it detracts from both experiences for me. If we had an option to manually add some input latency (or better yet, 'video' latency) it would make this a way better simulator, in my opinion. I am a father of two young kids and I have few opportunities to go out and run through some packs so not having to spend the first 1 or 2 adjusting to the latency would really be great.
< >
Showing 1-6 of 6 comments
JuniorDiscart  [developer] Apr 30, 2020 @ 1:33am 
We did an experiment with it in the very early phases of Liftoff and we agree that, in theory, this is a good idea. There is, however, a huge caveat, which is that it all depends on your framerate how granular you can adjust this latency. We notice many people run Liftoff with sub-optimal systems, resulting in an overall low FPS, this also means that video latency can only be done in discrete steps that is in sync with your FPS, and the lower is it, the greater the latency and the more unplayable it becomes.
It's a cool concept, but not something we aim to bring to an update soon.
rnguy May 3, 2020 @ 7:50pm 
Thanks for the response!

Would this need to be implemented at the video level, though? Wouldn't it be possible to add latency to controller input before it is sent to the PID loop? Or would it be the same problem where you couldn't guarantee latency amount because of inherent latency that may or may not be in the user's system?

I know input latency != video latency but it would be nice to be able to close the gap a bit between what real flying and in-game flying feel like.

Thanks again!
JuniorDiscart  [developer] May 4, 2020 @ 3:22am 
Ah, I though you were talking about the video latency, but input latency kind of suffers from the same issue, just in a slightly earlier timeslot. Sampling input is even a bit harder than doing the video latency. First off, there's the input resolution of the controller itself. Some of them are really good and provide inputs up to 100 times per second (10ms between values), others really suffer on this front and only give 20 per second (50ms between values). So you have a difference there.
Secondly, there's the moment on which Liftoff polls for this input value. Ideally, Liftoff would do this spread out evenly over the course of a second, but the reality of a game engine is that you do not have strict control over this. The game engine, by default, allows us to poll for a new input every frame (so this is FPS dependent on your system). We use an input plugin that circumvents this by allowing to poll the input every physics update. This one happens at 500Hz, but unfortunately, isn't spread out nicely over this one second. These physics updates happen in bursts per frame, like 12-17 physics updates per regular update, depending on your FPS, which means, polling the remote in these updates will likely yield the same input result in this burst. You can implement some kind of a queue that simulates a delay, but since there's quite a bit of time variables and stretching at play in this scenario, it will almost not give a desired result, let alone that we would like our users to specify this delay.
rnguy May 5, 2020 @ 7:12am 
Thank you for your consideration! I also appreciate the insightful responses!
SlyFox Dec 3, 2023 @ 2:41am 
Hey, considering computing power has come along would you think about adding in a video latency setting these days? I think it would really help when getting the hours in to prepare for real flights.
So it sounds like the problem is that I am running 144fps. Maybe I should try setting my monitor to 20fps and see if I get wild horrible latency.

edit: confirmed. set monitor to 20Hz, Set LiftOff to vsync on, triple buffering. you can get a full stick deflection before seeing any response on the screen. almost unplayable. the correct setting is probably more like 40Hz.

edit2: after much testing i have a couple very rough measurements. This is likely particular to my pc obviously.
monitor at 120hz, vsync triple buffering = 6.7ms latency
monitor at 60hz, vsync triple buffering = 14.7ms latency

These numbers seem too low, but that's what i measured. At least it proves that 60Hz is about double latency of 120Hz so its at least in the ballpark.
Last edited by rocketsarefast; Feb 7 @ 6:14pm
< >
Showing 1-6 of 6 comments
Per page: 1530 50