Facebook Programmerare Uppfinde Just The Flick, en ny tidsenhet

$config[ads_kvadrat] not found

Kan du lära dig programmera på 12 veckor? IT-konsulterna berättar

Kan du lära dig programmera på 12 veckor? IT-konsulterna berättar
Anonim

Inte nöjd med att erövra alla sociala medier, förvärvande av Instagram och Oculus VR, utökade lokala nyheter och konsumentteknik, och kanske ställa in scenen för grundaren Mark Zuckerbergs presidentval, har Facebook gått fram och uppfunnit sin egen tidsenhet.

Medan det kanske låter som nästa nivå av tech hubris - vi är här för att störa tiden själv, och allt det - det finns faktiskt en riktigt bra anledning till att Facebook-programmörer släppte den nya enheten, känd som en flick, på sin öppna källsida. Det löser ett chockerande grundläggande problem i hur datorkod hanterar video, speciellt deras bildhastigheter.

Flickan definieras som 1 / 705,600,000 sekunder, eller cirka 1,42 nanosekunder. Facebook: s meddelande - tekniskt gjort genom sitt dotterbolag Oculus VR, men Facebook Open Source tweeted ut nyheterna - noterar att den är den minsta tidsenheten större än en nanosekund och den är avsedd att användas i programmeringsspråket C ++ när det gäller videoprogram.

"När man arbetar med att skapa visuella effekter för film, tv och andra medier är det vanligt att köra simuleringar eller andra tidsintegrerande processer som dela upp en enda tidsram till ett fast, heltal antal underavdelningar", förklarar sidan som motivation för den här nya enheten. "Det är praktiskt att kunna ackumulera dessa underavdelningar för att skapa exakta 1-ram och 1 sekunders intervall, av olika skäl."

Det är egentligen inte möjligt att göra med en nanosekund eller en miljard sekund, eftersom den inte delas jämnt i vanliga filmruta som 1/24, 1/30, 1/48, 1/60 eller 1 / 120 bilder per sekund. Det innebär att program måste ta itu med decimala approximationer av exakt hur många nanosekunder som går in i dessa ramräntor.

Och program tycker inte om decimaler alls. Den binära kodens karaktär gör det väldigt otrevligt att hantera även mycket enkla decimaler, eftersom det kräver att man delar upp siffran i en koefficient och en exponent för att uttrycka det ordentligt. Vad vi skulle skriva som 0,01 måste till exempel skrivas ut och lagras som (djupt andetag) 0 01111000 01000111101011100001010 i binär.

Under dessa omständigheter är det faktiskt enklare och enklare att skapa en ny tidsenhet som delas jämnt i alla de gemensamma rammängder som flickan är avsedd att göra. En ram för en 1/24 fps-video är till exempel 29.400.000 flikar, till exempel, medan till och med en löjligt hög bildhastighet som 1 / 192.000 fps delar jämnt i 3.675 flikar.

Oculus VR GitHub-sidan har mer på flickan, bland annat en hur-till för nyfikna programmerare som vill se hur man installerar den för egna C ++-användningar. Så rädda inte, det här är inte den första indikationen på en samhällsomspännande övergång till Facebook Standard Time - bara en seriös bra idé att göra videofilmer och ljudapplikationer mer smidiga.

$config[ads_kvadrat] not found