Forum Discussion

🚨 This forum is archived and read-only. To submit a forum post, please visit our new Developer Forum. 🚨
doktorvr's avatar
doktorvr
Explorer
13 years ago

Rift latency

Has anyone else measured the Rift's end-to-end latency? By this I mean movement time to photons off the screen time. I am getting numbers around 25-35ms measured using the official Unity plugin. Can anyone also provide their numbers? Perhaps Palmer and co have 'official' numbers?

5 Replies

  • "doktorvr" wrote:
    Has anyone else measured the Rift's end-to-end latency? By this I mean movement time to photons off the screen time. I am getting numbers around 25-35ms measured using the official Unity plugin. Can anyone also provide their numbers? Perhaps Palmer and co have 'official' numbers?

    How are you measuring WHEN the Rift starts moving, until WHEN the photons are coming off the screen?

    Software running on the PC can only measure when it receives a HID packet containing tracker data, until the time it sends a frame to the video card. Depending on video settings, there may be latency before it is sent to the Rift display, and the Rift may take a bit to activate the pixels, and they have pixel switching time on top of that.

    You would really need a photosensor at least, to detect changes from the "photons off the screen" as you said.

    EDIT: OculusVR has a latency tester device that replaces a lens eyecup for testing. It contains such photosensors as I mentioned, and a display to show measured latency. I have one on order...
  • Yes I am using photo diodes input to my sound card. One diode detects a gradient (black to white) in front of the Rift and the other is positioned inside the Rift where a similar gradient changes with tracker rotation. I analyse the phase difference in the resulting gradient changes. The full method is published here: http://dl.acm.org/citation.cfm?id=1971108
  • "doktorvr" wrote:
    Yes I am using photo diodes input to my sound card. One diode detects a gradient (black to white) in front of the Rift and the other is positioned inside the Rift where a similar gradient changes with tracker rotation. I analyse the phase difference in the resulting gradient changes. The full method is published here: http://dl.acm.org/citation.cfm?id=1971108

    Nice! That abstract pretty much describes it all, and simple and inexpensive too! Photodiodes should be much faster than using a video camera (even if high speed). I like it!
    :D

    At 60Hz framerate, you should see about 16.7ms of jitter in your measurements, depending on what scanline you begin your measurement. You really need to average many measurements to establish a statistically significant mean value (or range), or you need to take time since VSYNC into account on your sound phase measurements. Otherwise the majority of your measured latency is just "noise".
  • "geekmaster" wrote:
    ... depending on what scanline you begin your measurement ... or you need to take time since VSYNC into account on your sound phase measurements. ...
    "doktorvr" wrote:
    ... We are positioning the photo diode approximately at the vertical centre of the panel. We are removing the Rift's lenses to get closer access to the panel. The lowest measurement we obtained was 20ms, the highest was 34ms. ..

    By "scanline" I meant "time sync VSYNC (as I clarified later), not the physical position on the display (although they would be the same for a "rolling-shutter" type display, such as a CRT). For many LCD panels, the physical position on the display may not correspond directly to time since VSYNC.

    What I meant to establish in my post above was that the 16.7ms jitter can be corrected for if you always take your measurements at the same phase (scanline) of the 60Hz frame update interval.

    And thanks for the direct link to the full document. :D