This site has been permanently archived. The content on this site was last updated in 2019.
Asynchronous Reprojection
Stay organized with collections
Save and categorize content based on your preferences.
Asynchronous reprojection is a graphics technology that ensures high
performance VR rendering, even during times of high system load. It provides
consistent and judder-free motion when the user rotates their head.
The 'reprojection' part of asynchronous reprojection works by adjusting the
position of the rendered frame just before it is seen by the user to account for
rotational user head movement while the frame is being rendered. The 'asynchronous' part
means that the technology will always use the most recent rendered frame, ensuring
that even if the app drops a frame, the user-visible frame rate does not drop.
Asynchronous reprojection has three major effects:
- It ensures that the frame rate experienced by the user remains high, which is critical to user comfort in VR.
- It reuses frames when the application isn't able to draw.
- It ensures that movement within the app feels smooth and does not judder.
All Daydream and Daydream Standalone applications have asynchronous reprojection
automatically enabled.
Cardboard does not support asynchronous reprojection.
3DoF vs 6DoF
Asynchronous reprojection is designed for 3DoF head movement, as it only corrects
for rotational movement.
Asynchronous reprojection does not correct for positional movement in 6DoF apps,
which means if the app framerate drops the user will begin to experience a disconnect
between the rendered and actual position. The lower the app frame rate, the
larger the disconnect. Lower frame rates can also introduce errors associated with
animations and other visual effects.
- In 6DoF, apps should target 75 FPS. Drops below 60 FPS will have noticeable artifacts and cause user discomfort.
- In 3DoF, apps should target 60 FPS. Drops below 45 FPS will have noticeable artifacts and cause user discomfort.
All rights reserved. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2024-10-09 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-10-09 UTC."],[[["Asynchronous reprojection maintains high frame rates and smooth motion in VR experiences, even with system load fluctuations, by re-adjusting frames to account for head rotation."],["This technology utilizes the most recent frame to prevent judder, ensuring a consistent user experience even if the application drops frames."],["Asynchronous reprojection is automatically enabled on Daydream platforms and primarily benefits 3DoF VR experiences, correcting for rotational movement."],["While not correcting positional movement in 6DoF, maintaining high frame rates in both 3DoF (60 FPS) and 6DoF (75 FPS) apps is crucial to minimize artifacts and discomfort."]]],["Asynchronous reprojection maintains high VR rendering performance by adjusting rendered frames to account for rotational head movement. It ensures a high, consistent frame rate by reusing recent frames when applications cannot draw quickly enough. This technology is automatically enabled on Daydream devices but not on Cardboard. While effective for 3DoF rotation, it does not correct for positional movement in 6DoF, where frame drops lead to positional discrepancies. The recommendation is to target 75 FPS for 6DoF apps and 60 FPS for 3DoF apps.\n"]]