Google en binomiaal
Basis Universal komplementearret earder
It Basis Universal-formaat lit jo de prestaasjes fan native GPU-tekstueren berikke, mar leveret in heger nivo fan kompresje.
Basis is in tuskenformaat dat rappe transkodearjen fan GPU-tekstueren leveret nei ferskate formaten op leech nivo foar gebrûk op sawol buroblêdsystemen as mobile apparaten foar gebrûk. Op it stuit stipe binne PVRTC1 (4bpp RGB), BC7 (6 RGB modus), BC1-5, ETC1, en ETC2 formaten. Takomstige stipe wurdt ferwachte foar ASTC-formaat (RGB of RGBA) en 4/5 RGBA-modi foar BC7 en 4bpp RGBA foar PVRTC1.
Tekstueren yn it basisformaat nimme 6-8 kear minder fideoûnthâld op en fereaskje it oerdragen fan sawat de helte safolle gegevens as typyske tekstueren basearre op it JPEG-formaat en 10-25% minder dan tekstueren yn RDO-modus. Bygelyks, mei in JPEG-ôfbyldingsgrutte fan 891 KB en in ETC1-tekstuer fan 1 MB, is de gegevensgrutte yn it Basisformaat 469 KB yn 'e modus fan heechste kwaliteit. By it pleatsen fan tekstueren yn fideoûnthâld, konsumeare JPEG- en PNG-tekstueren brûkt yn tests 16 MB ûnthâld, wylst tekstueren yn
Basis fereaske 2 MB ûnthâld foar oersetting nei BC1, PVRTC1 en ETC1, en 4 MB foar oersetting nei BC7.
It proses fan it migrearjen fan besteande applikaasjes nei Basis Universal is frij ienfâldich. It is genôch om besteande tekstueren of ôfbyldings opnij te kodearjen yn in nij formaat mei it hulpprogramma "basisu" oanbean troch it projekt, en selektearje it fereaske kwaliteitsnivo. Folgjende, yn 'e applikaasje, foardat de renderingskoade, moatte jo de basis transcoder inisjalisearje, dy't ferantwurdlik is foar it oersetten fan it tuskenformaat yn it formaat dat wurdt stipe troch de hjoeddeistige GPU. Tagelyk bliuwe ôfbyldings yn 'e heule ferwurkingsketen komprimearre, ynklusyf it laden yn komprimearre foarm yn' e GPU. Ynstee fan pre-emptive transcoding de hiele ôfbylding, de GPU selektyf dekodearret allinnich de nedige dielen fan it byld.
It stipet it bewarjen fan heterogene tekstuer-arrays (cubemaps), volumetryske tekstueren, tekstuer-arrays, mipmap-nivo's, fideosekwinsjes of willekeurige tekstuerfragminten yn ien bestân. It is bygelyks mooglik om in searje ôfbyldings yn ien bestân te pakken om lytse fideo's te meitsjen, of ferskate tekstueren te kombinearjen mei in mienskiplik palet foar alle ôfbyldings en typyske ôfbyldingssjabloanen te deduplikearjen. De ymplemintaasje fan Basis Universele encoder stipet kodearring mei meardere triedden mei OpenMP. De transcoder wurket op it stuit allinich yn single-threaded modus.
Dêrneist
It wurdt opmurken dat de mooglikheid om ynbêde fideo mei syn folgjende ferwurking allinnich op 'e GPU kant makket Basis Universal in nijsgjirrige oplossing foar it meitsjen fan dynamyske brûkersynterfaces op WebAssembly en WebGL, dat kin tagelyk werjaan hûnderten lytse fideos mei minimale CPU load. Oant SIMD-ynstruksjes kinne brûkt wurde yn WebAssembly mei tradisjonele codecs, is dit nivo fan prestaasjes noch net te berikken, sadat tekstuer-basearre fideo kin brûkt wurde yn gebieten dêr't konvinsjonele fideo net fan tapassing is. Koade mei ekstra optimisaasjes foar fideo wurdt op it stuit taret foar publikaasje, ynklusyf de mooglikheid om te brûken
Boarne: opennet.ru