„Google“ ir „Binomial“.
Basis Universal papildė anksčiau
„Basis Universal“ formatas leidžia pasiekti vietinių GPU tekstūrų našumą, tačiau užtikrina aukštesnį glaudinimo lygį.
„Basis“ yra tarpinis formatas, užtikrinantis greitą GPU tekstūrų perkodavimą į įvairius žemo lygio formatus, skirtus naudoti tiek stalinių kompiuterių sistemose, tiek mobiliuosiuose įrenginiuose prieš naudojant. Šiuo metu palaikomi PVRTC1 (4 bpp RGB), BC7 (6 RGB režimas), BC1-5, ETC1 ir ETC2 formatai. Tikimasi, kad ateityje palaikys ASTC formatą (RGB arba RGBA) ir 4/5 RGBA režimus, skirtus BC7, ir 4 bpp RGBA, skirtą PVRTC1.
Pagrindinio formato tekstūros užima 6–8 kartus mažiau vaizdo atminties ir reikalauja maždaug perpus mažiau duomenų nei įprastoms JPEG formato tekstūroms ir 10–25 % mažiau nei tekstūroms RDO režimu. Pavyzdžiui, kai JPEG vaizdo dydis yra 891 KB, o ETC1 tekstūra yra 1 MB, duomenų dydis Basis formatu yra 469 KB aukščiausios kokybės režimu. Dedant tekstūras į vaizdo atmintį, testuose naudotos JPEG ir PNG tekstūros sunaudojo 16 MB atminties, o tekstūros
Pagrindas reikalingas 2 MB atminties vertimui į BC1, PVRTC1 ir ETC1 ir 4 MB verčiant į BC7.
Esamų programų perkėlimo į Basis Universal procesas yra gana paprastas. Pakanka esamas tekstūras ar vaizdus perkoduoti į naują formatą naudojant projekto teikiamą „basisu“ įrankį, pasirenkant reikiamą kokybės lygį. Tada programoje, prieš pateikiant kodą, reikia inicijuoti baseu transkoderį, kuris yra atsakingas už tarpinio formato vertimą į dabartinio GPU palaikomą formatą. Tuo pačiu metu vaizdai visoje apdorojimo grandinėje išlieka suspausti, įskaitant suglaudintą įkėlimą į GPU. Užuot iš anksto perkodavęs visą vaizdą, GPU selektyviai iššifruoja tik būtinas vaizdo dalis.
Tai palaiko nevienalyčių tekstūrų masyvų (kubinių schemų), tūrinių tekstūrų, tekstūrų masyvų, mipmap lygių, vaizdo įrašų sekų ar savavališkų tekstūrų fragmentų išsaugojimą viename faile. Pavyzdžiui, galima supakuoti vaizdų serijas į vieną failą, kad būtų sukurti maži vaizdo įrašai, arba sujungti kelias tekstūras, naudojant bendrą visų vaizdų paletę ir panaikinant tipiškų vaizdų šablonų kopijas. „Basis Universal“ kodavimo priemonė palaiko kelių gijų kodavimą naudojant OpenMP. Šiuo metu transkoderis veikia tik vienos gijos režimu.
Be
Pažymėtina, kad galimybė įterpti vaizdo įrašą su tolesniu apdorojimu tik GPU pusėje daro „Basis Universal“ įdomiu sprendimu kuriant dinamines vartotojo sąsajas „WebAssembly“ ir „WebGL“, kurios vienu metu gali rodyti šimtus mažų vaizdo įrašų su minimalia procesoriaus apkrova. Kol SIMD instrukcijos negali būti naudojamos WebAssembly su tradiciniais kodekais, toks našumo lygis dar nepasiekiamas, todėl tekstūra pagrįstas vaizdo įrašas gali būti naudojamas tose srityse, kuriose įprastas vaizdo įrašas netaikomas. Šiuo metu publikavimui ruošiamas kodas su papildomais vaizdo įrašų optimizavimais, įskaitant galimybę naudoti
Šaltinis: opennet.ru