Forum Discussion

🚨 This forum is archived and read-only. To submit a forum post, please visit our new Developer Forum. 🚨
renderingpipeli's avatar
renderingpipeli
Honored Guest
11 years ago

Another idea of how to add a latency tester into the Rift

Hi,

I came up with another idea of how to add a latency tester into the Rift which can be used while playing without the use of additional photosensors:

The application sends a command via USB to the HMD to start the test (let’s call this the START_TEST command). The HMD will now store its internal timestamp and send a command back (DRAW_MARKER command). The application will change the rendering when the DRAW_MARKER command will get parsed together with the other USB signals (head rotation etc.) basically, it takes the same “route” thru the application as all the user inputs. What changes in the rending is the top-left pixel colour: Normally the renderings for the Rift are surrounded by a black border due to the distortion shader but even on HMDs that use the whole screen, changing one pixel (which should be black normally not to trigger the parsing by accident) won’t get seen by the user. So let’s say it changes from black to white caused by the final shader, the distortion shader. The HMD will parse the incoming pixel stream – at least the first pixel – for this magic color value and if it finally gets detected, it will calculate the time the HMD has waited for this to happen. Remember, it stored the internal time when it started the DRAW_MARKER command! Now it can send back the time difference in a LATENCY_RESULT command.


Full read (details, benefits) here: http://renderingpipeline.com/2014/02/measuring-latency-on-hmds/


I hope some kind of in-device testing will get added to the next Rift :-D

1 Reply

  • This is an interesting article. Having just ordered mine and not having it in my hands yet, I cant even speak to this being viable, however it is something that I did wonder about when considering the purchase and seeing the separate latency tester. I thought then that it was too bad that it wasn't possible to test on-board, understandably it wouldn't be live feed back as such in the tester, but i don't think it necessary until you really iron out the fine details(like exactly where and when it is taking place visually to YOU, instead or just reading time-stamps and remembering what had been taking place at the time in question, so I see the ease in this). So I really hope this turns out to be a viable solution for the poor developers like me :D