Google és Binomial
Basis Universal kiegészíti korábban
A Basis Universal formátum lehetővé teszi a natív GPU-textúrák teljesítményének elérését, de magasabb szintű tömörítést biztosít.
A Basis egy köztes formátum, amely biztosítja a GPU-textúrák gyors átkódolását különböző alacsony szintű formátumokba, amelyeket mind asztali rendszereken, mind mobileszközökön használhatnak használat előtt. Jelenleg a PVRTC1 (4bpp RGB), BC7 (6 RGB mód), BC1-5, ETC1 és ETC2 formátumok támogatottak. A jövőben az ASTC formátum (RGB vagy RGBA) és a 4/5 RGBA módok támogatása várható a BC7-hez és a 4 bpp RGBA a PVRTC1-hez.
Az alapformátumú textúrák 6-8-szor kevesebb videomemóriát foglalnak el, és körülbelül feleannyi adatot igényelnek, mint a JPEG formátumú tipikus textúrák, és 10-25%-kal kevesebbet, mint az RDO módú textúrák. Például 891 KB JPEG képméret és 1 MB ETC1 textúra esetén az adatméret Basis formátumban 469 KB a legjobb minőség módban. A textúrák videómemóriába helyezésekor a tesztekben használt JPEG és PNG textúrák 16 MB memóriát fogyasztottak, míg a
A BC2-re, PVRTC1-re és ETC1-re történő fordításhoz 1 MB memória, a BC4-re való fordításhoz pedig 7 MB memória szükséges.
A meglévő alkalmazások áttelepítése a Basis Universal rendszerbe meglehetősen egyszerű. Elegendő a meglévő textúrákat vagy képeket új formátumba átkódolni a projekt által biztosított „basisu” segédprogrammal, kiválasztva a kívánt minőségi szintet. Ezután az alkalmazásban a renderelési kód előtt inicializálni kell a basicu átkódolót, amely a köztes formátumnak az aktuális GPU által támogatott formátumba való lefordításáért felelős. Ugyanakkor a képek a teljes feldolgozási láncban tömörítve maradnak, beleértve azokat is, amelyek tömörített formában töltődnek be a GPU-ba. A teljes kép előzetes átkódolása helyett a GPU szelektíven csak a kép szükséges részeit dekódolja.
Támogatja a heterogén textúra tömbök (kockatérképek), volumetrikus textúrák, textúratömbök, mipmap szintek, videoszekvenciák vagy tetszőleges textúra töredékek egyetlen fájlban történő mentését. Lehetőség van például egy képsorozat becsomagolására egy fájlba kis videók létrehozásához, vagy több textúra kombinálására az összes képhez közös paletta használatával és a tipikus képsablonok duplikálásának megszüntetésével. A Basis Universal kódoló megvalósítása támogatja a többszálú kódolást OpenMP használatával. Az átkódoló jelenleg csak egyszálas módban működik.
emellett
Megjegyzendő, hogy az a lehetőség, hogy a videót csak a GPU-oldalon lehet beágyazni a későbbi feldolgozással, a Basis Universal érdekes megoldássá teszi a WebAssembly és WebGL dinamikus felhasználói felületek létrehozására, amelyek egyidejűleg több száz kis videót jelenítenek meg minimális CPU-terhelés mellett. Amíg a SIMD utasítások nem használhatók a WebAssembly-ben a hagyományos kodekekkel, addig ez a teljesítményszint még nem érhető el, így a textúra alapú videó használható olyan területeken, ahol a hagyományos videó nem alkalmazható. A videóhoz további optimalizálásokat tartalmazó kód jelenleg közzétételre készül, beleértve a felhasználási lehetőséget is
Forrás: opennet.ru