В Facebook изобрели новую единицу времени - flick
Проект Facebook Open Source объявил о введении новой единицы исчисления времени в C++ под названием flick. Это слово можно перевести как «щелчок» или «быстрое движение». Как поясняется в описании нововведения на GitHub, понятие эквивалентно смене кадра (frame-tick), пишет TJournal.
Один щелчок составляет ровно 1/705 600 000 секунды, или примерно 1,41723356 наносекунды. В процессе работы над синхронизацией кадров видео при помощи C++ разработчики обычно используют десятичные доли секунды для синхронизации кадров, однако это приводит к тому, что не для всех частот отображения видео и аудио получаются синхронизированы одинаково.
Например, у видео есть свои популярные частоты смены кадров (24, 25, 30, 48, 50, 60, 90, 100, 120 кадров в секунду или герц), а у аудио — свои (8, 16, 22,05, 24, 32, 44,1, 48, 88, 96 и 192 килогерц).
В случае с щелчками временные промежутки между всеми этими частотами можно исчислять при помощи целых чисел, а не десятичных дробей, и синхронизировать одинаково. Например, 1/24 секунды в этом случае будет составлять 29 400 000 щелчков, а 1/192 000 — 3675.
Вот, как описывается «щелчок» на проекте Facebook Open Source:
При работе над созданием визуальных эффектов для кино, ТВ и других медиа обычно проводятся симуляции или другие процессы с использованием временных отрезков, при которых один кадр разбивается на фиксированное, целое число делений. По ряду причин удобно иметь возможность исчислять эти деления так, чтобы в сумме они давали точно один кадр и односекундный интервал.
Поскольку для временных симуляций никогда-никогда нельзя использовать десятичные дроби (иначе их точность падает со временем), инструменты std: chrono в C++ подходят идеально. Тем не менее самое высокое из доступных разрешений времени, наносекунды, не одинаково делят популярные в кино и других медиа частоты смены кадров. В этом и была задумка этой единицы.
Слово для обозначения единицы ввел еще в 2016 году бывший сотрудник Oculus Story Studio Кристофер Хорват. По его словам, само придумывание единицы и работа над ней заняли у него несколько недель, но процесс прохождения инициативы через Facebook Open Source потребовал более года.