Кампаніі Google і Binomial
Basis Universal дапаўняе раней
Фармат Basis Universal дазваляе дамагчыся прадукцыйнасці ўзроўня родных для GPU тэкстур, але забяспечвае больш высокі ўзровень сціску.
Basis з'яўляецца прамежкавым фарматам, перад ужываннем забяспечвае хуткае перакадаванне ў розныя нізкаўзроўневыя фарматы тэкстур GPU, якія ўжываюцца як на настольных сістэмах, так і на мабільных прыладах. Цяпер падтрымліваецца трансляцыя ў фарматы PVRTC1 (4bpp RGB), BC7 (рэжым 6 RGB), BC1-5, ETC1, і ETC2. У далейшым чакаецца падтрымка фармату ASTC (RGB ці RGBA) і рэжымаў 4/5 RGBA для фармату BC7 і 4bpp RGBA для PVRTC1.
Тэкстуры ў фармаце basis займаюць у 6-8 разоў менш відэапамяці і патрабуе перадачы прыкладна ў два разы менш дадзеных, чым тыпавыя тэкстуры на аснове фармату JPEG і на 10-25% менш, чым тэкстуры ў рэжыме RDO. Напрыклад, пры памеры JPEG-малюнка ў 891 Кб, а тэкстуры ETC1 у 1 Мб, памер дадзеных у фармаце Basis складае 469 Кб у рэжыме найвышэйшай якасці. Пры размяшчэнні тэкстуры ў відэапамяці, якія выкарыстоўваюцца ў тэстах тэкстуры ў фармаце JPEG і PNG выдаткавалі 16 Мб памяці, у той час як для тэкстур у фармаце
Basis запатрабавалася 2 Мб памяці ў выпадку трансляцыі ў BC1, PVRTC1 і ETC1, і 4 Мб у выпадку трансляцыі ў BC7.
Працэс перакладу існуючых прыкладанняў на Basis Universal дастаткова просты. Дастаткова перакадзіраваць наяўныя тэкстуры або выявы ў новы фармат пры дапамозе ўтыліты «basisu», якая прадастаўляецца праектам, выбраўшы неабходны ўзровень якасці. Далей у дадатку перад кодам адмалёўкі трэба ініцыялізаваць перакадавальнік basisu, які адказвае за трансляцыю прамежкавага фармату ў які падтрымліваецца бягучым GPU фармат. Пры гэтым выявы на ўсім ланцужку апрацоўкі застаюцца сціснутымі, у тым ліку загружаюцца ў сціснутым выглядзе ў GPU. Замест папераджальнага перакадавання выявы цалкам, GPU выбарачна дэкадуе толькі неабходныя часткі малюнка.
Падтрымліваецца захаванне ў адным файле неаднародных масіваў тэкстур (cubemap), аб'ёмных тэкстур, масіваў тэкстур, узроўняў mipmap, паслядоўнасцяў відэа ці адвольных урыўкаў тэкстур. Напрыклад, магчымае пакаванне ў адным файле серыі малюнкаў для стварэння невялікіх відэа ці аб'яднанне некалькіх тэкстур з выкарыстаннем агульнай для ўсіх малюнкаў палітры і дэдуплікацыяй тыпавых шаблонаў малюнкаў. Рэалізацыя кадавальніка Basis Universal падтрымлівае шматструменнае кадаваньне з выкарыстаннем OpenMP. Перакадавальнік пакуль працуе толькі ў аднаструменным рэжыме.
Дадаткова
Адзначаецца, што магчымасць убудавання відэа з яго наступнай апрацоўкай толькі на боку GPU робіць Basis Universal цікавым рашэннем для стварэння дынамічных інтэрфейсаў карыстача на WebAssembly і WebGL, у якіх могуць адначасова адлюстроўвацца сотні невялікіх відэа з мінімальнай нагрузкай на CPU. Да з'яўлення магчымасці выкарыстання інструкцый SIMD у WebAssembly пры традыцыйных кодэках падобны ўзровень прадукцыйнасці пакуль недасяжны, таму відэа на аснове тэкстур можа выкарыстоўвацца ў абласцях, дзе звычайнае відэа непрымяняльна. У цяперашні час рыхтуецца да публікацыі код з дадатковымі аптымізацыямі для відэа, які ўключае магчымасць выкарыстання
Крыніца: opennet.ru