Facebook Programátori jednoducho vynašiel Flick, novú jednotku času

$config[ads_kvadrat] not found

Facebook Hacker Cup 2020 Qual' (2nd place)

Facebook Hacker Cup 2020 Qual' (2nd place)
Anonim

Nespokojný s dobývaním všetkých sociálnych médií, získavaním rád Instagramu a Oculus VR, rozširovaním sa o miestne novinky a spotrebiteľské technológie a možno Vytvorenie etapy pre prezidentský beh zakladateľa Marka Zuckerberga, Facebook pokračoval a vynašiel vlastnú jednotku času.

Aj keď to môže znieť ako ďalšia úroveň tech hubris - sme tu, aby sme prerušili čas a to všetko - je tu naozaj dobrý dôvod, prečo Facebook programátori na svojej stránke s otvoreným zdrojovým kódom uvoľnili novú jednotku, známu ako film. Je to riešenie šokujúceho zásadného problému v tom, ako počítačový kód pojednáva o videu, konkrétne o jeho rámcových frekvenciách.

Rýchlosť je definovaná ako 1 / 705,600,000 sekúnd, alebo asi 1,42 nanosekund. Oznámenie Facebook - technicky vykonané prostredníctvom dcérskej spoločnosti Oculus VR, hoci Facebook Open Source tweetuje správy - poznamenáva, že je to najmenšia jednotka času väčšia ako nanosekunda a je určená na použitie v programovacom jazyku C ++ pri práci s video aplikáciami.

„Pri vytváraní vizuálnych efektov pre film, televíziu a iné médiá je bežné spúšťať simulácie alebo iné procesy integrujúce čas, ktoré rozdeľujú jeden časový rámec na pevný celočíselný počet delení,“ vysvetľuje stránka ako motivácia pre túto novú jednotku. "Je užitočné mať možnosť nahromadiť tieto rozdelenia, aby ste z rôznych dôvodov vytvorili presné 1-rámcové a 1-sekundové intervaly."

To nie je v skutočnosti možné robiť s nanosekundou, alebo miliardtinou sekundy, pretože sa nerozdelí rovnomerne do bežných filmových snímkových frekvencií, ako sú 1/24, 1/30, 1/48, 1/60 alebo 1 / 120 snímok za sekundu. To znamená, že programy sa musia zaoberať desiatkovými aproximáciami presne takého počtu nanosekund, ktoré idú do týchto rámcových frekvencií.

A programy nemajú rád desatinné miesta vôbec, Povaha binárneho kódu ho robí masívne neriešiteľným na spracovanie aj veľmi jednoduchých desatinných miest, pretože vyžaduje rozdelenie čísla na koeficient a exponent, aby ho bolo možné správne vyjadriť.To, čo by sme napísali napríklad ako 0,01, je potrebné zapísať a uložiť ako (hlboký dych) 0 01111000 01000111101011100001010 v binárnom formáte.

Za týchto okolností je v skutočnosti jednoduchšie a priamočiarejší vytvoriť novú jednotku času, ktorá sa rozdelí rovnomerne do všetkých spoločných rámcových frekvencií, ktoré má tento film navrhnúť. Rámec pre video 1/24 fps je napríklad 29 400 000 flicks, zatiaľ čo dokonca aj smiešne vysoká snímková frekvencia, ako je 1 / 192,000 fps, sa rovnomerne rozdeľuje na 3 665 pohybov.

Stránka Oculus VR GitHub má viac informácií o tom, ako sa dá nainštalovať pre vlastné použitie v C ++. Nebojte sa, toto nie je prvý náznak prepnutia spoločnosti na štandardný čas na Facebooku - to je len veľmi pekný nápad, aby video a audio aplikácie bežali hladšie.

$config[ads_kvadrat] not found