Facebook has just invented time or at least a new unit for it. According to a tweet by Facebook Open Source, the company has launched a new unit of time called Flicks which is slightly larger than a nanosecond. So, just like we are used to measuring time in seconds, minutes, and hours, Facebook will measure time in Flicks.
We've launched Flicks, a unit of time, slightly larger than a nanosecond that exactly subdivides media frame rates and sampling frequencies. https://t.co/w9SDBznXRE
— Facebook Open Source (@fbOpenSource) January 22, 2018
That said, Flicks is not a measurement which one normally uses to track time in daily life, rather it’s a specific unit which is designed to help measure individual frame duration for video frame rates.
Typically, media frame rates differ in sampling frequencies using the traditional seconds and nanoseconds. Flicks solves this problem by using a time constant that’s always the same across frequencies.
According to a post on GitHub A flick (frame-tick) is a very small unit of time. It is 1/705600000 of a second, exactly.
1 flick = 1/705600000 second
The blog post further explains flicks as,
“This unit of time is the smallest time unit which is LARGER than a nanosecond and can in integer quantities exactly represent a single frame duration for 24hz, 25hz, 30hz, 48hz, 50hz, 60hz, 90hz, 100hz, 120hz, and also 1/1000 divisions of each. This makes it suitable for use via std::chrono::duration and std::ratio for doing timing work against the system high-resolution clock, which is in nanoseconds, but doesn’t get slightly out of sync when doing common frame rates.”
The motivation for inventing flicks came as programmers already use built-in tools in C++ to manage exact frame sync. According to the blog post, when working on creating visual effects for film, television, and other media, it is common to run simulations or other time-based models which subdivide a single frame of time into a fixed, integer number of subdivisions.
Here’s a neat little background into how Flicks was created by its maker Christopher Horvath, who parted ways with the company before the product was released.
Flicks allow programmers to use whole integer values, which is hugely simpler in the long run than the decimals that arise from the use of nanoseconds. That said, it’s still early to say, if Flicks will have any impact or not, at least not until it is adopted and used widely. For now, it looks like Facebook’s VR team at Oculus will be focussing heavily on the advancement of Flicks as a standard for the industry.