Oculus creates a new, open source unit of time to measure frame rates

  News
image_pdfimage_print
Enlarge / You’re gonna need a more precise clock to measure those 90 fps frames…
Back to the Future

Of all the things we expected to come out of the rise of Oculus and the still-burgeoning era of consumer virtual reality, a new fundamental unit of time was not one of them. But that’s just what Oculus and Facebook have rolled out this week in the form of the flick, a new definition that subdivides a single second into precisely 705,600,000 parts.

If you use common time units like the millisecond or nanosecond to measure how long a single frame of video appears on screen, you’re often left with a fractional remainder rather than a clean, whole integer. This can be a problem in programming and visual effects, where rounding and/or floating point representations can lead to slight imprecision or desynchronization over time. Delivering video frames with perfect timing is also pretty important to delivering a comfortable VR experience.

Thus, the idea of a new time unit was hatched in an October 2016 Facebook post by Oculus Story Studio Architect Christopher Horvath, and it was fleshed out with partners in the following months. The flick (short for frame-tick) was constructed so that everything from 24 fps films to 90 fps VR games to 16,000 fps ultra-slow-motion video and more could measure a single frame in a whole number of flicks (a 90 fps frame takes up 7,840,000 flicks, for instance). The flick also lines up with the most common audio sampling rates in the same way, allowing for precise demarcations in timing.

With that definition set, Oculus has created an open source C++ library allowing for easy integration with standard library timing functions. The same basic idea can be implemented in other programming languages much the same way.

That’s all well and good, but we’re actually more looking forward to integrating this exciting new time unit into our everyday speech. Back in a flick!

https://arstechnica.com/?p=1248729