How do you fix the distance between me and Google?
It's possible that Stadia might be "good enough" for casual gaming (and granted, that's a very large market segment), but I don't think it will ever be good enough for anyone who is sensitive to latency.
Indeed, I found this recently out in a double-blind kind of way, when running at 165hz. I had to take out my GPU to fix the fan, so I wanted to try playing some demanding games on my integrated Intel GPU. I switched settings to the lowest (along with the game itself auto downgrading settings). After I put my GPU back, I put all the settings back, or so I thought. I was feeling some input lag and the mouse a little "floaty" but thought I just imagining it for a day or two. Afterwards I checked settings and lo behold, VSync was on.
I was surprised that I could tell the difference when running at 165hz and 165 fps.
That is to say, on my 60Hz monitor, I don't feel much difference between 60 FPS and anything above with vsync off. But if I go from from 70FPS (vsync off) to 60 FPS (vsync on), it's yarrgh unplayable, as far as first person shooters go.
Variable refresh rate is one way to fix this.
All major engines (Unity, Unreal and even Godot) provide 2 different mechanisms for callbacks in your scripts: A callback before each rendered frame and a callback before each physic step (Update() and FixedUpdate() in Unity).
Now, physics always run in a fixed time step. Usually 60 times per second. If you move your player, the game will always need to wait for the next physic callback to move the entity around. Same for spawning projectiles and or checking hitscan weapons with raycasts. You always need to wait.
In this case, when V-Sync is on an your screen updates at 60Hz per second everything is fine. But on a screen with 144Hz, there is inevitable input lag.
Can someone tell me, how on earth can this be improved by disabling V-Sync? It's basically not possible to reduce input lag in this scenario.
I know there are ways to hide the lag through Input Prediction and Entity Interpolation, but those are necessary band-aids for multiplayer games, where you accept lag which is already an order of a magnitude larger than local input lag. And for single-player games? If you introduce physics your oh-so-nice 1000 Frames per Seconds are basically useless. But please tell me, if I missed something.
Interp and extrapolation do not delay your input. Interp fills in lag time with predicted movement for other player characters to hide 50ms+ of lag from the player. Your client side input still exists and is updated client side in realtime. It may get corrected by lag after the fact. Your input is not delayed to match their lag.
E.g. Dota 2 and CSGO servers in Europe have <40ms ping for most people. Local lag should be up to some 16ms from a 60Hz display plus 1ms from a 1000Hz mouse/keyboard, half of that on average. If the hardware is bad, it could easily be some extra 30ms from the display and maybe 16ms from the mouse/keyboard -- think 125Hz poll rate and bad debounce implementation.
Many gamers think they can feel differences in such small ranges of milliseconds... and maybe some can. I bet its not very many though.
I would love to see results of a blind test.
Edit: Freesync/G-sync is an attempt to eliminate tearing AND latency. Unfortunately, this often requires a higher response time on many monitors. For example, on my simracing setup with a Samsung CHG90[1], you can't both enable freesync and the fastest response time on the monitor. I opt for the faster response time as it just feels faster and most of the time I don't notice the tearing.
[1] https://www.samsung.com/us/computing/monitors/gaming/49--chg...
Considering those last-mile edge devices often cost in the tens of thousands of dollars and use a lot of power, including a few hundred ARM cores isn't a huge cost increase for the benefit it provides.
You're not going to get a lot of gaming done on ARM cores, when the games Stadia is trying to sell are built for x86 and x64.
Games that run on ARM devices (Fortnight, Minecraft) can already run on Stadia's end user hardware (phones, low-end computers, even many android-based smart TVs), and don't require streaming infrastructure.