Guglo kaj Binomo
Bazo Universalaj komplementoj antaŭe
La Baza Universala formato permesas vin atingi la agadon de indiĝenaj GPU-teksturoj, sed provizas pli altan nivelon de kunpremo.
Bazo estas meza formato kiu disponigas rapidan transkodigon de GPU-teksturoj al diversaj malaltnivelaj formatoj por uzo sur kaj labortablaj sistemoj kaj porteblaj aparatoj antaŭ uzo. Nuntempe subtenataj estas formatoj PVRTC1 (4bpp RGB), BC7 (6 RGB-reĝimo), BC1-5, ETC1 kaj ETC2. Estonta subteno estas atendata por ASTC-formato (RGB aŭ RGBA) kaj 4/5 RGBA-reĝimoj por BC7 kaj 4bpp RGBA por PVRTC1.
Teksturoj en la baza formato okupas 6-8 fojojn malpli da videomemoro kaj postulas translokigi proksimume duonon da datumoj ol tipaj teksturoj bazitaj sur la JPEG-formato kaj 10-25% malpli ol teksturoj en RDO-reĝimo. Ekzemple, kun JPEG bildgrandeco de 891 KB kaj ETC1 teksturo de 1 MB, la datumgrandeco en la Baza formato estas 469 KB en la plej altkvalita reĝimo. Dum metado de teksturoj en videomemoro, JPEG kaj PNG teksturoj uzitaj en testoj konsumis 16 MB da memoro, dum teksturoj en
Bazo postulis 2 MB da memoro por tradukado al BC1, PVRTC1 kaj ETC1, kaj 4 MB por tradukado al BC7.
La procezo de migrado de ekzistantaj aplikoj al Basis Universal estas sufiĉe simpla. Sufiĉas rekodi ekzistantajn teksturojn aŭ bildojn en novan formaton uzante la ilon "basisu" provizitan de la projekto, elektante la bezonatan kvalitan nivelon. Poste, en la aplikaĵo, antaŭ la bildiga kodo, vi devas pravalorigi la basisu-transkodilon, kiu respondecas pri tradukado de la meza formato al la formato subtenata de la nuna GPU. Samtempe, bildoj tra la tuta pretiga ĉeno restas kunpremitaj, inkluzive de ŝarĝitaj en kunpremita formo en la GPU. Anstataŭ antaŭprecipe transkodi la tutan bildon, la GPU selekteme malkodas nur la necesajn partojn de la bildo.
Ĝi subtenas konservadon de heterogenaj teksturaj tabeloj (kubmapoj), volumetraj teksturoj, teksturaj tabeloj, mipmap-niveloj, videosekvencoj aŭ arbitraj teksturaj fragmentoj en unu dosiero. Ekzemple, eblas paki serion da bildoj en unu dosiero por krei malgrandajn filmetojn, aŭ kombini plurajn teksturojn uzante komunan paletron por ĉiuj bildoj kaj deduplikante tipajn bildŝablonojn. La efektivigo de Basis Universal-kodigilo subtenas plurfadenan kodigon uzante OpenMP. La transkodilo nuntempe nur funkcias en unufadena reĝimo.
aldone
Oni rimarkas, ke la kapablo enmeti videon kun ĝia posta prilaborado nur ĉe la GPU-flanko igas Basis Universal interesa solvo por krei dinamikajn uzantinterfacojn sur WebAssembly kaj WebGL, kiuj povas samtempe montri centojn da malgrandaj filmetoj kun minimuma CPU-ŝarĝo. Ĝis SIMD-instrukcioj povas esti uzataj en WebAssembly kun tradiciaj kodekoj, ĉi tiu nivelo de rendimento ankoraŭ ne estas atingebla, do tekstur-bazita video povas esti uzata en lokoj kie konvencia video ne estas aplikebla. Kodo kun pliaj optimumigoj por video estas nuntempe preta por publikigo, inkluzive de la kapablo uzi
fonto: opennet.ru