Hacker News new | ask | show | jobs
by stephc_int13 760 days ago
Constant update rate is a must, and can even be tweaked to minimize input latency if you are using a custom engine.

Using two frames to interpolate at render time is adding one frame of latency.

It is possible to do it on a single frame, extrapolating instead of interpolating, but you have to use a simple but uncommon trick to make it robust.

The latency gain is not a full frame but some sizeable fraction of a frame, I think it is worth it for some games.

2 comments

What is the simple but uncommon trick?
Some sort of Kalman-esque algo?

https://en.wikipedia.org/wiki/Kalman_filter

> I think it is worth it for some games.

What types of games are you thinking?

Extrapolation isnt worth the chance of misprediction if it's a player movement based game.

The 'input latency' introduced by interpolating between frames is far different than typical 'input latency'. It's less than a single frame, and the game still renders movement at the same frame, just less movement. Most 'input latency' tests only test for _any_ movement, so those kinds of tests would detect 0 difference between 'interpolation', 'extrapolation' and 'render the exact game state'.

I'm a fast paced gamer, and I make fast paced games, I've never once 'felt' the input latency from interpolating the players position between simulation frames.