Asynchronous reprojection

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

Asynchronous reprojection is a class of motion smoothing technologies aimed at ensuring a virtual reality headset's responsiveness to head motion even when the GPU isn't able to keep up with the headset's target framerate.[1] Reprojection involves the headset's driver taking one or multiple previously rendered frames and using motion information from the headset's sensors to "reproject" or "warp" the previous frame into a prediction of what a normally rendered frame would look like.[2] "Asynchronous" refers to this process being continuously performed in parallel with rendering, allowing reprojected frames to be displayed without delay in case a regular frame isn't rendered in time.[2]

The use of these techniques allows for a lowering in the video rendering hardware specifications required to achieve a certain intended level of responsiveness.[3]

Variations[edit]

Various vendors have implemented their own variations of the technique under different names. Basic versions of the technique are referred to as asynchronous reprojection by Google and Valve,[1][4] while Oculus has two implementations, called asynchronous timewarp[2] and asynchronous spacewarp. Asynchronous timewarp uses the headset's rotational data to interpolate a new rendered frame based on the last frame it received. Asynchronous space warp goes beyond, and uses all of the headset's sensors in an attempt to also take into account character movement, camera movement, motion controller movement, and the player's positional movement.[5] Valve's early version called interleaved reprojection would make the application run at half framerate and reproject every other frame.[6] A later variant by Valve is SteamVR Motion Smoothing, which builds upon regular asynchronous reprojection in being able to reproject two frames instead of one.[4]

References[edit]

  1. ^ a b "Asynchronous Reprojection". Google Developers. Google. Retrieved 10 June 2019.
  2. ^ a b c Antonov, Michael (2 March 2015). "Asynchronous Timewarp Examined". Oculus Developer Blog. Facebook Technologies, LLC. Retrieved 10 June 2019.
  3. ^ Orland, Kyle (10 June 2019). "Oculus lowers minimum Rift specs using "asynchronous spacewarp" tech". ArsTechnica. Condé Nast. Retrieved 10 June 2019.
  4. ^ a b Vlachos, Alex (27 November 2018). "Introducing SteamVR Motion Smoothing". Steam Community. Valve. Retrieved 10 June 2019.
  5. ^ Beeler, Dean; Hutchins, Ed; Pedriana, Paul (10 November 2016). "Asynchronous Spacewarp". Oculus Developer Blog. Facebook Technologies, LLC. Retrieved 10 June 2019.
  6. ^ Leiby, Aaron (26 March 2016). "Interleaved Reprojection now enabled for all applications by default". Steam Community. Valve. Retrieved 10 June 2019.