Google è Binomial
Basi Universal cumplementa prima
U formatu Basis Universale permette di ottene u rendiment di textures GPU native, ma furnisce un livellu più altu di cumpressione.
Basis hè un formatu intermediu chì furnisce una transcodificazione rapida di texture GPU à diversi formati di livellu bassu per l'usu in i sistemi desktop è in i dispositi mobili prima di l'usu. Attualmente supportati sò i formati PVRTC1 (4bpp RGB), BC7 (6 RGB mode), BC1-5, ETC1 è ETC2. U supportu futuru hè previstu per u formatu ASTC (RGB o RGBA) è i modi 4/5 RGBA per BC7 è 4bpp RGBA per PVRTC1.
Textures in u furmatu di basa occupanu 6-8 volte menu memoria video è necessitanu di trasferimentu circa a mità di dati quant'è texture tipiche basate nantu à u formatu JPEG è 10-25% menu di texture in modalità RDO. Per esempiu, cù una dimensione di l'imaghjini JPEG di 891 KB è una texture ETC1 di 1 MB, a dimensione di dati in u formatu Basis hè 469 KB in u modu di più alta qualità. Quandu si mette texture in memoria video, texture JPEG è PNG usate in i testi cunsumanu 16 MB di memoria, mentre chì texture in
A basa richiede 2 MB di memoria per a traduzzione in BC1, PVRTC1 è ETC1, è 4 MB per a traduzzione in BC7.
U prucessu di migrazione di l'applicazioni esistenti à Basis Universal hè abbastanza simplice. Hè abbastanza per ricudificà e texture o l'imaghjini esistenti in un novu formatu cù l'utilità "basisu" furnita da u prugettu, selezziunate u livellu di qualità necessariu. In seguitu, in l'applicazione, prima di u codice di rendering, avete bisognu di inizializà u transcoder basisu, chì hè rispunsevule per a traduzzione di u formatu intermediu in u formatu supportatu da a GPU attuale. À u listessu tempu, l'imaghjini in tutta a catena di trasfurmazioni restanu cumpressi, cumprese esse caricate in forma cumpressa in a GPU. Invece di trascodificà preventivamente l'imaghjina sana, a GPU decodifica selettivamente solu e parti necessarie di l'imaghjini.
Supporta a salvezza di matrici di texture eterogenee (cubemaps), texture volumetriche, arrays di texture, livelli di mipmap, sequenze video o frammenti di texture arbitraria in un schedariu. Per esempiu, hè pussibule imballà una seria d'imaghjini in un schedariu per creà picculi video, o cumminà parechji texturizati cù una paleta cumuna per tutte l'imaghjini è deduplicate mudelli tipici di l'imaghjini. L'implementazione di l'encoder Basis Universal supporta a codificazione multi-threaded cù OpenMP. Attualmente, u transcoder funziona solu in modu unicu filatu.
cliccà
Hè nutatu chì a capacità di incrustà u video cù u so processu sussegwente solu nantu à u latu GPU face Basis Universal una soluzione interessante per creà interfacce d'utilizatori dinamichi in WebAssembly è WebGL, chì ponu vede simultaneamente centinaie di picculi video cù una carica minima di CPU. Finu à chì l'istruzzioni SIMD ponu esse aduprate in WebAssembly cù i codecs tradiziunali, stu livellu di rendiment ùn hè ancu ottenibile, cusì u video basatu in texture pò esse usatu in spazii induve u video convenzionale ùn hè micca applicabile. U codice cù ottimisazioni supplementari per u video hè attualmente preparatu per a publicazione, cumprese a capacità di utilizà
Source: opennet.ru