Steam VR Introduces 'Motion Smoothing' So Low-End PCs Can Run Games More Smoothly (engadget.com)
Steam VR is introducing a new feature called "Motion Smoothing" that will give PCs with low-end hardware the power to deliver VR experiences more smoothly. "It functions like Motion Smoothing for TV and Asynchronous Spacewarp for Oculus devices, which are frame-rate smoothing techniques that generate synthetic frames between two real ones in order to avoid a stuttery experience," notes Engadget. From the report:
When Steam VR determines that an experience is lagging or dropping frames, Motion Smoothing automatically kicks in. It drops an app's framerate from 90FPS to 45FPS and generates a synthetic frame for every real one to mimic real 90FPS. If things get especially bad, it can generate two to three frames for every real one instead. Steam explains that the feature "dramatically [lowers] the performance requirements," allowing PCs with lower end hardware to "produce smooth frames." Take note, however, that the feature will not work with the Oculus Rift or with Windows Mixed Reality headsets. You can only take advantage of it if you have an HTC Vive or a Vive Pro, and if you're running Windows 10 -- all you need to do is right-click on Steam VR and select beta under Tools in Library.
VR motion smoothing and asynchronous spacewarp don't really work like that. What they do is they take the last known frame produced by the graphics card and then warp it to match the user's current position in space. This actually reduces latency because it means the user's view is being updated by their position more often than if it was just using the less frequent frames from the graphics card. They aren't interpolating between two frames (well, maybe Valve's new thing does that, Oculus asynchronous spacewarp doesn't), they're warping the image to reflect more recent positional data.
In fact, one strategy to reduce latency even when the GPU is putting out the full HMD framerate is to sample the positional data after the frame is rendered but right before the frame is sent to the HMD and use asynchronous spacewarp to update the rendered frame. This means the position displayed to the user is more recent than when the game engine sampled the position in its gameplay loop (and before anything was rendered), which can potentially remove most of the rendering latency.
Quite so. Obviously it does create artifacts - warping can't reveal whatever was just exposed beyond that column for example, so the edges of things may have a tendency to shimmer with interpolated "noise" when you're in motion. Whether that's noticeable or not? No idea.
There's also going to be a performance penalty - unless using dedicated hardware for that part. Warping an HD image may be computationally cheaper than rendering it in the first place, but every ns spent doing so is a ns not available for rendering better graphics.
Probably both prices well worth paying though, if it lets your eyes see something much closer to what your inner ears are saying they should.
--- Most topics have many sides worth arguing, allow me to take one opposite you.
Everyone in this thread is wrong. Since nobody can be bothered to read the actual Valve announcement:
"The way we are applying Motion Smoothing in SteamVR is a bit different. When SteamVR sees that an application isn’t going to make framerate (i.e. start dropping frames), Motion Smoothing kicks in. It looks at the last two delivered frames, estimates motion and animation, and extrapolates a new frame. Synthesizing new frames keeps the current application at full framerate, advances motion forward, and avoids judder."