5 ms·
They could be close to the server, with few hops, on a good connection. i.e. the same circumstances where fps don't need lag compensation because there isn't la
by hyperpallium 7y ago
They could be close to the server, with few hops, on a good connection. i.e. the same circumstances where fps don't need lag compensation because there isn't lag.
IDK the techniques Stadia is actually using but MS has a prediction and local warping method. Consider that when moving or turning in a fps, in most frames you're making the same input as the previous one. A statistical model, noticing walls and enemies etc can do better. So if lag is n frames, they predict what your input would be pver those n, and send the result.
Misprediction is still common, so they do local warping: locally transform the last received frame in accordance with the local input. Zoom for forward, pan left/right for turn etc. I think this would look a little like a stablized video, but it's only for a max of a few frames, so not as bad.
- grenoire 7y ago> I think this would look a little like a stablized video, but it's only for a max of a few frames, so not as bad. The issue is that the stabilisation is not just for a maximum of a few frames, because you're always behind by the amount of frames stabilised/processed/corrected. This would lead to the stabilised video feeling as long as you're moving... which happens rather often when playing games.
- hyperpallium 7y agoThe warping/stablization only happens on a misprediction, which would be much less than half the time. Ignoring that, I see what you mean that it's ongoing. But it resets every time a new frame is received, whereas a stablized video never resets from the start. To illustrate, consider a video with the camera spinning on an axis into the image (like a barrel roll; so the image rotates in 2D). To prevent the subject of the video from rotating, each image must be rotated in the opposite direction. You'd see the frame of the image rotating. Whereas, with warping, the orientation of the image would reset to level with each actual frame recieved. So the amount of rotation would be limited to a few frames worth - not spinning around 2pi like the stablized video.