Google a Binomial
Basis Universal ergänzt virdrun
D'Basis Universal Format erlaabt Iech d'Performance vun native GPU Texturen z'erreechen, awer bitt e méi héije Kompressiounsniveau.
Basis ass en Zwëschenformat dat séier Transkodéierung vu GPU-Texturen op verschidde Low-Level Formater ubitt fir souwuel op Desktop Systemer wéi och op mobilen Apparater virum Gebrauch ze benotzen. Aktuell ënnerstëtzt sinn PVRTC1 (4bpp RGB), BC7 (6 RGB Modus), BC1-5, ETC1, an ETC2 Formater. Zukünfteg Ënnerstëtzung gëtt erwaart fir ASTC Format (RGB oder RGBA) an 4/5 RGBA Modi fir BC7 a 4bpp RGBA fir PVRTC1.
Texturen am Basisformat huelen 6-8 Mol manner Videospeicher an erfuerderen ongeféier hallef sou vill Daten iwwerdroe wéi typesch Texturen op Basis vum JPEG Format an 10-25% manner wéi Texturen am RDO Modus. Zum Beispill, mat enger JPEG Bildgréisst vun 891 KB an enger ETC1 Textur vun 1 MB, ass d'Dategréisst am Basisformat 469 KB am héchste Qualitéitsmodus. Wann Dir Texturen am Video Memory placéiert, hunn JPEG- a PNG-Texturen, déi an Tester benotzt goufen, 16 MB Erënnerung verbraucht, wärend Texturen an
Basis erfuerderlech 2 MB Erënnerung fir Iwwersetzung op BC1, PVRTC1 an ETC1, a 4 MB fir Iwwersetzung op BC7.
De Prozess fir existent Uwendungen op Basis Universal ze migréieren ass ganz einfach. Et ass genuch fir existent Texturen oder Biller an en neit Format ëmzekodéieren mat dem "Basis" Utility, dee vum Projet zur Verfügung gestallt gëtt, déi néideg Qualitéitsniveau auswielen. Als nächst, an der Applikatioun, virum Rendering Code, musst Dir de Basistranscoder initialiséieren, dee verantwortlech ass fir den Zwëschenformat an de Format vun der aktueller GPU ze iwwersetzen. Zur selwechter Zäit bleiwen d'Biller duerch d'ganz Veraarbechtungskette kompriméiert, inklusiv a kompriméiert Form an d'GPU gelueden. Amplaz vum ganze Bild viraus ze transkodéieren, decodéiert d'GPU selektiv nëmmen déi néideg Deeler vum Bild.
Et ënnerstëtzt späicheren heterogen Textur Arrays (Cubemaps), volumetresch Texturen, Textur Arrays, mipmap Niveauen, Video Sequenzen oder arbiträr Textur Fragmenter an enger Datei. Zum Beispill ass et méiglech eng Serie vu Biller an enger Datei ze packen fir kleng Videoen ze kreéieren, oder verschidde Texturen mat enger gemeinsamer Palette fir all Biller ze kombinéieren an typesch Bildschablounen ze deduplizéieren. D'Basis Universal Encoder Implementatioun ënnerstëtzt Multi-threaded Kodéierung mat OpenMP. Den Transcoder funktionnéiert am Moment nëmmen am Single-threaded Modus.
Zousätzlech
Et gëtt bemierkt datt d'Fäegkeet fir Video mat senger spéiderer Veraarbechtung nëmmen op der GPU Säit z'integréieren Basis Universal eng interessant Léisung fir dynamesch User-Interfaces op WebAssembly a WebGL ze kreéieren, déi gläichzäiteg Honnerte vu klenge Videoe mat minimaler CPU-Laascht weisen. Bis SIMD Instruktioune kënnen an WebAssembly mat traditionelle Codecs benotzt ginn, ass dësen Niveau vun der Leeschtung nach net erreechbar, sou datt Textur-baséiert Video kann a Beräicher benotzt ginn wou konventionell Video net applicabel ass. Code mat zousätzlech Optimisatiounen fir Video gëtt am Moment fir d'Publikatioun virbereet, och d'Fäegkeet ze benotzen
Source: opennet.ru