Difference between revisions of "Timewarp"

From Virtual Reality, Augmented Reality Wiki
Jump to: navigation, search
Line 1: Line 1:
'''Timewarp''' also known as '''Asynchronous Timewarp (ATW)''' or '''Time warping''' is a technique in [[VR]] that warps the rendered image before sending it to the display to correct for the head movement occurred after the rendering.<ref>https://www.oculus.com/blog/asynchronous-timewarp/</ref> Timewarp can reduce [[latency]] and increase [[frame rate]].<ref>https://www.youtube.com/watch?v=WvtEXMlQQtI</ref> This process takes the already rendered image, modify it with freshly collected positional information from your [[HMD]]'s sensors, then display it to your screen. Utilizing [[depth maps]] ([[Z Buffers]]) already present in the engine, Timewarp requires very little computation.
+
'''Timewarp''' also known as '''Asynchronous Timewarp (ATW)''' or '''Time warping''' is a technique in [[VR]] that warps the rendered image before sending it to the display to correct for the head movement occurred after the rendering.<ref>https://www.oculus.com/blog/asynchronous-timewarp/</ref> Timewarp can reduce [[latency]] and increase [[frame rate]].<ref name="YT1">https://www.youtube.com/watch?v=WvtEXMlQQtI</ref> This process takes the already rendered image, modify it with freshly collected positional information from your [[HMD]]'s sensors, then display it to your screen. Utilizing [[depth maps]] ([[Z Buffers]]) already present in the engine, Timewarp requires very little computation.
  
 
Timewarp is a feature of [[Oculus SDK]]. It was initially released in the version 0.3.1 of the SDK.
 
Timewarp is a feature of [[Oculus SDK]]. It was initially released in the version 0.3.1 of the SDK.
Line 9: Line 9:
  
 
==How Timewarp Increases Frame Rate==
 
==How Timewarp Increases Frame Rate==
In a game engine limited to 50 frames per second, a new frame is displayed once every 20 milliseconds. To increase the game's frame rate to 60, you need to display a new frame once every 16.7 milliseconds. To increase the fps through timewarp, the last completely rendered frame, not the one that is currently rendering, is updated with the latest data about the position of your head. The modified frame is displayed before your eyes.<ref>https://www.youtube.com/watch?v=WvtEXMlQQtI</ref> Theoretically, this method could increase frame rate from 1 to 60. Realistically, timewarp only works in very short distances and time intervals. Long distances or time intervals will make the image appear unrealistic or out of place.
+
In a game engine limited to 50 frames per second, a new frame is displayed once every 20 milliseconds. To increase the game's frame rate to 60, you need to display a new frame once every 16.7 milliseconds. To increase the fps through timewarp, the last completely rendered frame, not the one that is currently rendering, is updated with the latest data about the position of your head. The modified frame is displayed before your eyes.<ref name="YT1">https://www.youtube.com/watch?v=WvtEXMlQQtI</ref> Theoretically, this method could increase frame rate from 1 to 60. Realistically, timewarp only works in very short distances and time intervals. Long distances or time intervals will make the image appear unrealistic or out of place.
  
 
==References==
 
==References==

Revision as of 08:34, 7 April 2015

Timewarp also known as Asynchronous Timewarp (ATW) or Time warping is a technique in VR that warps the rendered image before sending it to the display to correct for the head movement occurred after the rendering.[1] Timewarp can reduce latency and increase frame rate.[2] This process takes the already rendered image, modify it with freshly collected positional information from your HMD's sensors, then display it to your screen. Utilizing depth maps (Z Buffers) already present in the engine, Timewarp requires very little computation.

Timewarp is a feature of Oculus SDK. It was initially released in the version 0.3.1 of the SDK.

How Timewarp Reduces Latency

Without Timewarp, your HMD would capture the data about the position of your head, render the image based on this data (correct angel etc.), then display the image when the next scene is due to be on screen. In a 60 fps game, a new scene is displayed once every 16.7 milliseconds. With this process, each image you see is based on the head-tracking data from almost 17 milliseconds ago.

With Timewarp, the first 2 parts of the process is the same. your HMD would capture the data about the position of your head and render the image based on the data. Before this image is displayed, your HMD captures the position of your head again. Using this information, the rendered image is modified with a mathematical calculation to fit the latest data. Finally the modified image is displayed on screen. The resulting image is more recent and more accurately depict the position of your head at the time of display than the image initially rendered. Timewarp only works in very short distances and time intervals or the resulting image will look unrealistic or out of place.

How Timewarp Increases Frame Rate

In a game engine limited to 50 frames per second, a new frame is displayed once every 20 milliseconds. To increase the game's frame rate to 60, you need to display a new frame once every 16.7 milliseconds. To increase the fps through timewarp, the last completely rendered frame, not the one that is currently rendering, is updated with the latest data about the position of your head. The modified frame is displayed before your eyes.[2] Theoretically, this method could increase frame rate from 1 to 60. Realistically, timewarp only works in very short distances and time intervals. Long distances or time intervals will make the image appear unrealistic or out of place.

References

  1. https://www.oculus.com/blog/asynchronous-timewarp/
  2. 2.0 2.1 https://www.youtube.com/watch?v=WvtEXMlQQtI