Otter said:
Framerate objectively changes latency so it would impact it.
There are differing levels of smoothness in 30fps experiences but again it goes back to the game logic, so it's just a case of discerning what aspect of the game (camera movement/pacing, post processing, latency) is making Alan a smoother experience for you because there is objectively no difference in frame rate if both games are hitting a solid 30. |
That's only true for the difference it takes for a frame to appear. Game engines aren't tied to frame rate anymore and some like racing games poll the controller input and execute the physics simulation at a much higher rate. Forza claimed to run the physics at 360hz, iRacing the same.
Controller lag also plays a role:
The PS5 controller wireless does avg 600-800hz. Wired it runs at 1000hz (and can even be boosted to 8000hz on PC)
However on Windows it defaults to 250hz over USB.

That's the polling rate or update rate from the controller, internally they run slower
In general PlayStation controllers have an update rate of 250Hz (250 times a second) and Xbox controllers have an update rate of 124Hz. (124 times a second)
This is the difference between 250hz polling (Windows default) and 1000hz polling on top of the internal update rate.

All this information comes from someone optimizing Rocket League input on PC
https://steamcommunity.com/sharedfiles/filedetails/?l=french&id=2419919131
Then the physics update time is added onto that before a frame can be rendered.
With a locked frame rate you can reduce input lag with predictive input tracking. At 30fps you know it takes (should take) a bit less than 33ms to render a frame, thus you can forward predict the physics 33ms to compensate for the render delay. (And a bit more to compensate further for transmission delay) Polling at 360hz, executing the physics in 2.8ms you can bring the input latency way down. And with forward prediction the difference between 33ms and 16ms render time can be negated. (Of course not for digital input like jumping, but while actively steering you can extrapolate the analog input)
GTS, GT7 does all this predictive physics stuff all the time for online racing where it needs to match up the other cars to your time frame to make it all appear lag free. With 50ms latency, moving at 200mph (about 90 m/s), 50 ms makes a difference of 4.5 meters, more than a car length. Hence the other cars are predicted forward for latency to make neck 'n neck racing possible without you feeling any extra input lag. Yet in fact no two races are the same, every person sees the race slightly different.
It's relevant in single player as well for you to start braking on time. You want to see where the car is 'now', not where it was when the game logic update started. I've worked with this stuff in GPS navigation where the poll rate is only once per second. You want to show on screen where the car (pointer) is now, not 2 seconds ago. With the weak hardware we used and low variable frame rate, the engine continuously measured the total input latency to adjust forward prediction for the next render. The last step before starting the render was a forward prediction call to make sure instructions are announced on time and when you see your position on screen it matches where you are on the road, eliminating perceived lag.
But yes there's still the objective difference in waiting 16ms or 33 ms for the next frame to show on the screen.
Which also adds an extra 16ms to digital input delays.
Nowadays input latency mostly depends on how fast you can poll and execute the physics and what kind of game it is.
If the game has to blend animations for walking for example, it will need more time to make a smooth transition after you press the jump button for example. The more natural movement you want from the characters, the more input delay you need to eliminate jerky motions.
If it's an arcade shooter, you can likely execute the physics super fast and reduce the time between pressing a button and shot fired down close to the render and display time. So there the fps becomes the limiting factor.