Facebook Programatorii au inventat doar Flick, o nouă unitate de timp

$config[ads_kvadrat] not found

CUM DEVII PROGRAMATOR - THALES - Cavaleria.ro

CUM DEVII PROGRAMATOR - THALES - Cavaleria.ro
Anonim

Nu este mulțumit să cucerească toate rețelele sociale, cum ar fi Instagram și Oculus VR, extinzându-se în știrile locale și pe tehnologia consumatorilor, și poate stabilind scena pentru fuga prezidențială a fondatorului Mark Zuckerberg, Facebook a continuat și și-a inventat propria unitate de timp.

În timp ce asta ar putea părea ca nivelul următor al hubrisului tehnic - suntem aici pentru a perturba timpul în sine, și de toate acestea - există de fapt un motiv foarte bun pentru care programatorii Facebook au lansat noua unitate, cunoscută sub numele de film, pe pagina open source. Rezolvarea unei probleme fundamentale șocant în modul în care codul computerului se ocupă de video, în special ratele de cadre ale acestora.

Flick este definită ca 1 / 705,600,000 secunde sau aproximativ 1,42 nanosecunde. Anunțul Facebook - realizat tehnic prin intermediul filialei sale Oculus VR, deși Facebook Open Source tweeted știrile - notează că este cea mai mică unitate de timp mai mare decât o nanosecundă și este concepută pentru a fi utilizată în limba de programare C ++ atunci când se ocupă de aplicații video.

"Când lucrăm la crearea de efecte vizuale pentru filme, televiziune și alte medii, este obișnuită rularea simulărilor sau a altor procese de integrare în timp care subdivizează un singur interval de timp într-un număr fix, întreg întreg de subdiviziuni", pagina explică ca motivație pentru această nouă unitate. "Este util să se acumuleze aceste subdiviziuni pentru a crea intervale precise de 1 cadru și 1 secundă, din diferite motive."

Acest lucru nu este de fapt posibil să se facă cu o nanosecundă sau cu o miliardă de secundă, deoarece nu va fi împărțit în mod uniform în rame de cadre obișnuite ca 1/24, 1/30, 1/48, 1/60 sau 1 / 120 de cadre pe secundă. Acest lucru înseamnă că programele trebuie să se ocupe de aproximările zecimale ale exact cât de multe nanosecunde merg în acele rate de cadre.

Și programele nu le plac zecimalele deloc. Natura codului binar o face extrem de greu să se ocupe chiar de zecimale foarte simple, deoarece necesită împărțirea numărului într-un coeficient și un exponent pentru ao exprima în mod corespunzător.Ceea ce vom scrie ca 0.01, de exemplu, trebuie scris și stocat ca (respirație adâncă) 0 01111000 01000111101011100001010 în binar.

În aceste condiții, este mai ușor și mai simplu să creați o nouă unitate de timp care să se împartă uniform în toate ratele comune ale cadrelor, pe care se dorește să le facă. Un cadru pentru un videoclip de 1/24 fps este, de exemplu, 29,400,000 de filme, în timp ce chiar și o rată ridicată de cadre ca 1 / 192,000 fps se împarte uniform în 3,675 de filme.

Pagina de pe Oculus VR GitHub are mai mult de mișcat, inclusiv un program cum se face pentru programatorii curioși care doresc să vadă cum să le instaleze pentru propriile lor utilizări în C ++. Așa că nu vă temeți, acest lucru nu este primul indiciu al unei comutări la nivelul întregii societăți la standardul Facebook - o idee serioasă pentru a face aplicațiile video și audio să funcționeze mai bine.

$config[ads_kvadrat] not found