Search Unity

Significant Judder at Full Framerate

Discussion in 'Daydream' started by zalo10, Dec 5, 2016.

  1. zalo10

    zalo10

    Joined:
    Dec 5, 2012
    Posts:
    21
    I've posted about this in the AVRDevelopers e-mail thread, but I'm cross-posting here for visibility.

    Every Unity based Daydream app that I have come across on the Pixel has a Judder issue where moving in-scene elements experience substantial judder (presumably due to the rendering loop and asynchronous reprojection threads being desynchronized). It's trivial to diagnose in applications where you have substantial in-scene animations and gaze-cursors.

    Here is a .gif from the example scene that demonstrates the issue
    capture12.gif
    Notice the judder persistent judder where the pixel falls behind (when the

    When VSync is disabled and Application.targetFramerate = 59, the application will move into and out of synchronization ("phase") with the asynchronous reprojection thread (20 seconds good, 10 seconds bad, repeating):
    capture11.gif
    Note how the judder isn't visible for this short segment.

    Here is the full video these gifs were derived from, showing the movement into and out of "phase" with the settings described above: https://drive.google.com/file/d/0B_w9_hQJupIYQ3JQTEY3UTFiWVU/view


    Fixing this issue is crucial for apps that contain a lot of in-scene movement (cursors, motion tracked controllers, hands, animations, physics, etc.).
     
  2. b4th

    b4th

    Joined:
    Jul 4, 2016
    Posts:
    65
    Hi @zalo10,

    We have noticed the same issue on our end and posted an example project in the following thread:
    https://forum.unity3d.com/threads/j...ing-rapidly-or-attached-to-the-camera.435048/

    EDIT:
    We believe that this issue is practically resolved in the latest version of the Technical Preview - 5.4.2f2-GVR13 - which was released on Dec 8th. You may still notice a very occasional glitch, but the issue is much more acceptable. What are your results after upgrading?
     
    Last edited: Dec 13, 2016
  3. zalo10

    zalo10

    Joined:
    Dec 5, 2012
    Posts:
    21
    @b4th

    My results are identical to the older versions of the preview (in all scenes/projects including yours).

    VSync (both kinds) add significant judder; Application.targetFramerate = 60 reduces the jumps to once per second, and Application.targetFramerate = 59 reduces the jumps to a 10 second flurry of them once every 20 seconds.

    The effect is trivial visualize if you parent an object to your camera.
     
  4. b4th

    b4th

    Joined:
    Jul 4, 2016
    Posts:
    65
    Ah, apologies, you're focusing on the object attached to the camera, whereas we're focussed on the distant objects moving in the scene. Distant objects seems to be much smoother than before, but you're right, the 'reticle' still jitters quite a bit.