Tää voi mennä off-topikiksi, mutta otetaan vaan se riki että Jamac suuttuu ja alkaa kurittaa...
![Kieli [:P]](./images/smilies/icon_razz.gif)
Näköjään meillä on osittain samoja mielenkiinnon kohteita joten mua ei haittaa asiasta jauhaminen. Tuleepahan samalla kelattua näitä juttuja taas itsekin.
mikas kirjoitti:Tuo varmaankin tehtiin sitten keskusmuistissa aiemmin. ... Ja toisaalta, pitäähän se tieto kuitenkin kuljettaa sinne näytönohjaimelle jossain välissä.
Totta, tuo voidaan tehdä myös keskusmuistissa. Se, missä se tehdään, ei ole efektin kannalta merkityksellistä. Itseasiassa, verrattuna siihen että joutuisit kuljettamaan päällekkäisiä bittikarttoja näytönohjaimelle kompositoitavaksi, on rajallisen väylän tapauksessa tehokkaampaa suorittaa kompositointi keskusmuistissa ja lähettää vain pelkkä lopputulos.
Tämä vain ei enää ole kovin realistista koska se 3D kiihdytys tehdään kortilla ja kuva muodostuu vasta siellä.
mikas kirjoitti:Eli 1920*1200*3*/1024/1024 = 6,591 MB
Näyttö näyttää vaikkapa 80 Hz kuvaa (eli päivittyy 80 kertaa sekunnissa)
6,591*80=527,343 = n.528 MB sekunnissa
Eikö tällä jo päästä yksinkertaisimmassa tapauksessa niin välkkymättömään kuvaan kuin on kuvan näyttävä tekniikkakin ? Siis silti vaikka piirtyisi pikku palikoita tai osia millä ajastuksella tahansa.
Käytännössä hankalaa. Ensinnäkin, sun täytyisi olla varma, että sä pystyt päivittämään sitä framebufferia (näyttömuisti) 80 kuvaa sekunnissa. Tämä ei ole mitenkään taattua, johtuen siitä että emme tiedä kuinka paljon mikäkin ohjelma piirtää, miten paljon prossu kerkeää tuota piirtämistä käsitellä ja kuinka nopea näytönohjain on. Toinen seikka on sitten se, että sun täytyy synkata piirto CRT monitorin elektronisuihkun paikkaan. Eli et päivitä framebufferia silloin kun suihku on puolessa välissä ruutua. Tämä tosin on ratkaistu ja V-Sync optio näytönohjaimelle tekee tämän.
Mutta tuota ylempää syytä et voi kiertää mitenkään helposti. Toisekseen tuo datavirta olettaa, että sä et lähetä kortille mitään päällekkäistä vaan ainoastaan sen lopullisen kuvan. Tää tarkoittaa sitä, että joudut tekemään kaikki mahdolliset kompositoinnit ja transformaatiot prossulla, joka hidastaa piirtämistä.
Mutta joo, jossain tietyssä ympäristössä ja tietyllä ohjelmalla sä voisit saada ton kyllä toimimaan.
mikas kirjoitti:Eipä tästä nyt tarvitsisi sen isompaa stressiä repiä, mutta itsellä on lähinnä mietityttänyt tuon HD-videon vaatimukset koneelta ja väyliltä, ihan vaikka vaan katsoessa. Pullonkaulojen ja tekniikoiden tajuaminen auttaisi ymmärtämään ja hyväksymään erilaiset ongelmat ja rajoitukset.
Jep, niin minuakin, lähinnä miten tuommoista kuvamateriaalia voidaan käsitellä editissä ja pakkaamattomana. Joskus tässä valitin, että semmoista softaa ei ole Macille, erinäisistä syistä. Toki tuota studiossa pääsee näpräämään kalliilla laitteella, mutta se ei ole urheiluhenkistä :-).
DISCLAIMER: Jos joku rahoittaa ja haluaa 24p filkkatason (HD, 2k+) reaaliaikaisen EDITOINTI softan niin ottakaa yhteyttä. Riippuen vaatimuksista mä voin tehdä tuollaisen luokkaa 6kk jos vaatimuksista ja rahasta päästään yhteisymmärrykseen. Omalla ajalla (ilmaiseksi) en varmaan saa tehtyä kun tulee muu elämä väliin.
Takaisin vastaukseen. Kun puhutaan kuluttajaformaateista, kuten H.264, väylistä ei niin hirveästi tarvitse välittää. H.264 kodekin ensimmäinen pullonkaula on prosessori.
mikas kirjoitti:Vaatimottamat laskelmani noista erilaisista kapeikoista:
1080i tökkii
Noi oli päällisin puolin ja ilman ajatusta luettuna ihan ok laskelmat. Ei kovin tarkkaa, mutta suhdeluku oli niin riittävän selvä, että niistä voi vetää johtopätöksiä kuten yllä.
Pelkän datavirran seuraamiseen täytyy selvittää seuraava kulku.
Kovalevyltä muistiin. Eli keskimääräinen pakatun materiaalin lukunopeusvaatimus. Tiedoston koko / kestolla voisi olla tarpeeksi hyvä approksimaatio ja tämä sitten suhteutettuna kovalevyn lukunopeuteen + overhead. Pakattu data muistista prosessorille. Prosessorin aika purkaa pakkaus ja kopioida se takaisin muistiin. Muistista prosessorin kautta näytönohjaimelle.
Tähän kaikkeen täytyy lisätä overhead, ja tuntea h.264 kodekin toiminta paremmin kuin minä tunnen. Esim OS X piirtää ikkunat OpenGL pintoina, joten tuo video on itseasiassa tekstuuri. Ja tämä tarkoittaa että sinne näyttikselle menee paljon muutakin kuin pelkkä video.Toisekseen, voi olla mahdollista käyttää näyttistä purkamaan tuota H.264 kuvaa. En tiedä tehdäänkö näin nykyisillä Maceillä vai ei.
Mun maailmassani on hauskempaa.