{"id":34420,"date":"2019-10-31T21:58:13","date_gmt":"2019-10-31T18:58:13","guid":{"rendered":"https:\/\/prohoster.info\/blog\/google-i-binomial-otkryli-kod-sistemy-szhatiya-tekstur-basis-universal\/"},"modified":"2019-10-31T21:58:13","modified_gmt":"2019-10-31T18:58:13","slug":"google-i-binomial-otkryli-kod-sistemy-szhatiya-tekstur-basis-universal","status":"publish","type":"post","link":"https:\/\/prohoster.info\/en\/blog\/news\/google-i-binomial-otkryli-kod-sistemy-szhatiya-tekstur-basis-universal","title":{"rendered":"Why don't engineers care about application monitoring?","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Google and Binomial Companies <noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.googleblog.com\/2019\/05\/google-and-binomial-partner-to-open.html\">dozens of<\/a><\/noindex> source texts <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/binomialLLC\/basis_universal\">Basis Universal<\/a><\/noindex>, a codec for efficient texture compression and its associated universal file format &#171;.basis&#187; for distributing textures based on images and videos. The reference implementation code is written in C++ and <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/binomialLLC\/basis_universal\">is provided<\/a><\/noindex> under the Apache 2.0 license. <\/p>\n<p>Basis Universal complements the previously <noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=45853\">published<\/a><\/noindex> 3D data compression system Draco and aims to address the texture delivery issue for GPUs. Until now, developers have been limited in their choices between low-level formats that achieve high performance but are GPU-specific and take up a lot of disk space, and other formats that allow for size reduction but cannot compete with GPU textures in performance.<\/p>\n<p>The Basis Universal format enables native-level performance for GPU textures while offering a higher compression ratio.<br \/>\nBasis serves as an intermediate format, providing fast transcoding into various low-level GPU texture formats used on both desktop systems and mobile devices. Currently, it supports transcoding into formats like PVRTC1 (4bpp RGB), BC7 (mode 6 RGB), BC1-5, ETC1, and ETC2. Future support for the ASTC format (RGB or RGBA) and modes 4\/5 RGBA for BC7 and 4bpp RGBA for PVRTC1 is expected.<\/p>\n<p><center><noindex><a rel=\"nofollow\" href=\"https:\/\/2.bp.blogspot.com\/-lrBsY8-mRTY\/XOMlO8iXJHI\/AAAAAAAAAOI\/c2uOtvac6bMAFIrCNp7X4w61gHqgUTfzACLcBGAs\/s1600\/Google%2BOpen%2BSource%2BBlog%2B-%2BBinomial%2BUniversal%2Btextures.png\"><img decoding=\"async\" alt=\"Why don&#039;t engineers care about application monitoring?\" src=\"\/wp-content\/uploads\/2019\/05\/93e274c82c4ebea1b72fb92009ee0e84.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/center><\/p>\n<p>Textures in the basis format take up 6-8 times less video memory and require approximately twice as less data transfer than typical textures based on JPEG format and 10-25% less than textures in RDO mode. For example, with a JPEG image size of 891 KB and an ETC1 texture at 1 MB, the size of data in Basis format is 469 KB in the highest quality mode. In memory tests, the JPEG and PNG textures consumed 16 MB of memory, while the textures in the<br \/>\nBasis format required 2 MB of memory when transcoding to BC1, PVRTC1, and ETC1, and 4 MB when transcoding to BC7.<\/p>\n<p><center><noindex><a rel=\"nofollow\" href=\"https:\/\/1.bp.blogspot.com\/-HcGM7rZfPqY\/XOMliEE42tI\/AAAAAAAAAOU\/-005uyfOuGk0IreB7LvxUZAtXyCvhRTEACLcBGAs\/s1600\/Screenshot%2B2019-05-14%2Bat%2B4.56.08%2BPM.png\"><img decoding=\"async\" alt=\"Why don&#039;t engineers care about application monitoring?\" src=\"\/wp-content\/uploads\/2019\/05\/c289aef3595713e65de6a95cbcb83726.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/center><\/p>\n<p>The process of converting existing applications to Basis Universal is quite straightforward. You simply need to re-encode the existing textures or images into the new format using the provided project utility &#171;basisu&#187;, selecting the desired quality level. Next, within the application, prior to the rendering code, you need to initialize the basisu re-encoder, which is responsible for translating the intermediate format into a format supported by the current GPU. Throughout this processing chain, images remain compressed, including being loaded in compressed form into the GPU. Instead of preemptively decoding the entire image, the GPU selectively decodes only the necessary parts of the image. <\/p>\n<p>It supports the saving of heterogeneous texture arrays (cubemap), volumetric textures, texture arrays, mipmap levels, video sequences, or arbitrary texture fragments in a single file. For example, it is possible to package a series of images into one file to create short videos or combine multiple textures using a common palette for all images and deduplication of standard image patterns. The implementation of the Basis Universal encoder supports multi-threaded encoding using OpenMP. The transcoder currently operates only in a single-threaded mode.<\/p>\n<p>Additional <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/BinomialLLC\/basis_universal\/blob\/master\/webgl\/README.md\">is available<\/a><\/noindex> The Basis Universal decoder for browsers is delivered in a WebAssembly format, which can be used in web applications based on WebGL. Ultimately, Google aims to achieve support for Basis Universal in all major browsers and promote it as a portable texture format for WebGL and the upcoming specification <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/WebGPU\">WebGPU<\/a><\/noindex>, conceptually similar to the Vulkan, Metal, and Direct3D 12 APIs. <\/p>\n<p>It is noted that the ability to embed video with subsequent processing solely on the GPU side makes Basis Universal an interesting solution for creating dynamic user interfaces in WebAssembly and WebGL, where hundreds of small videos can be displayed simultaneously with minimal CPU load. Before the advent of SIMD instructions in WebAssembly, achieving such performance levels with traditional codecs was not possible; therefore, texture-based video can be used in areas where regular video is not applicable. Currently, code with additional optimizations for video, including the ability to use is being prepared for publication. <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%A2%D0%B8%D0%BF%D1%8B_%D0%BA%D0%B0%D0%B4%D1%80%D0%BE%D0%B2\">I-frames and P-frames<\/a><\/noindex> with support for adaptive filling (CR). <\/p>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Source: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=50732\">opennet.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Google \u0438 Binomial \u043e\u0442\u043a\u0440\u044b\u043b\u0438 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0435 \u0442\u0435\u043a\u0441\u0442\u044b Basis Universal, \u043a\u043e\u0434\u0435\u043a\u0430 \u0434\u043b\u044f \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u0441\u0436\u0430\u0442\u0438\u044f \u0442\u0435\u043a\u0441\u0442\u0443\u0440 \u0438 \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u043e\u0433\u043e \u0441 \u043d\u0438\u043c \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u043e\u0432\u043e\u0433\u043e \u0444\u043e\u0440\u043c\u0430\u0442\u0430 &#171;.basis&#187; \u0434\u043b\u044f \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0442\u0435\u043a\u0441\u0442\u0443\u0440 \u043d\u0430 \u0431\u0430\u0437\u0435 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439 \u0438 \u0432\u0438\u0434\u0435\u043e. \u041a\u043e\u0434 \u044d\u0442\u0430\u043b\u043e\u043d\u043d\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 \u0421++ \u0438 \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u0434 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0435\u0439 Apache 2.0. Basis Universal \u0434\u043e\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0440\u0430\u043d\u0435\u0435 \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0441\u0436\u0430\u0442\u0438\u044f 3D-\u0434\u0430\u043d\u043d\u044b\u0445 Draco \u0438 \u043f\u044b\u0442\u0430\u0435\u0442\u0441\u044f \u0440\u0435\u0448\u0438\u0442\u044c [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":25932,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-34420","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Google \u0438 Binomial \u043e\u0442\u043a\u0440\u044b\u043b\u0438 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0435 \u0442\u0435\u043a\u0441\u0442\u044b\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/en\/blog\/news\/google-i-binomial-otkryli-kod-sistemy-szhatiya-tekstur-basis-universal\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47Google \u0438 Binomial \u043e\u0442\u043a\u0440\u044b\u043b\u0438 \u043a\u043e\u0434 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0441\u0436\u0430\u0442\u0438\u044f \u0442\u0435\u043a\u0441\u0442\u0443\u0440 Basis Universal | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Google \u0438 Binomial \u043e\u0442\u043a\u0440\u044b\u043b\u0438 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0435 \u0442\u0435\u043a\u0441\u0442\u044b\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/en\/blog\/news\/google-i-binomial-otkryli-kod-sistemy-szhatiya-tekstur-basis-universal\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:58:13+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:58:13+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47 Google and Binomial have unveiled the Basis Universal texture compression system code | ProHoster","description":"Google and Binomial have released the source codes.","canonical_url":"https:\/\/prohoster.info\/en\/blog\/news\/google-i-binomial-otkryli-kod-sistemy-szhatiya-tekstur-basis-universal","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"en_US","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47Google \u0438 Binomial \u043e\u0442\u043a\u0440\u044b\u043b\u0438 \u043a\u043e\u0434 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0441\u0436\u0430\u0442\u0438\u044f \u0442\u0435\u043a\u0441\u0442\u0443\u0440 Basis Universal | ProHoster","og:description":"\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Google \u0438 Binomial \u043e\u0442\u043a\u0440\u044b\u043b\u0438 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0435 \u0442\u0435\u043a\u0441\u0442\u044b","og:url":"https:\/\/prohoster.info\/en\/blog\/news\/google-i-binomial-otkryli-kod-sistemy-szhatiya-tekstur-basis-universal","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:58:13+00:00","article:modified_time":"2019-10-31T18:58:13+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"34420","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 19:13:20","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 02:21:35","updated":"2026-01-21 19:13:20","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/34420","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/comments?post=34420"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/34420\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media\/25932"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media?parent=34420"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/categories?post=34420"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/tags?post=34420"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}