Google болон бином
Үндсэн Universal нь өмнө нь нэмэлт юм
Үндсэн Universal формат нь GPU-н бүтэцтэй гүйцэтгэлийг хангадаг боловч илүү өндөр түвшний шахалтыг хангадаг.
Basis нь ашиглахын өмнө ширээний болон хөдөлгөөнт төхөөрөмж дээр ашиглагддаг доод түвшний GPU бүтэцтэй форматуудыг хурдан кодчилдог завсрын формат юм. Одоогоор PVRTC1 (4bpp RGB), BC7 (6 RGB горим), BC1-5, ETC1, ETC2 руу орчуулахыг дэмждэг. Цаашид ASTC формат (RGB эсвэл RGBA) болон BC4-д зориулсан 5/7 RGBA горим, PVRTC4-д зориулсан 1bpp RGBA-г дэмжих төлөвтэй байна.
Үндсэн форматын бүтэц нь JPEG формат дээр суурилсан стандарт бүтэцтэй харьцуулахад 6-8 дахин бага видео санах ой эзэлдэг бөгөөд өгөгдөл дамжуулахын тал орчим хувийг шаарддаг бөгөөд RDO горим дахь бүтэцтэй харьцуулахад 10-25% бага байдаг. Жишээлбэл, 891 KB-ийн JPEG зураг, 1 МБ-ын ETC1 бүтэцтэй бол үндсэн мэдээллийн хэмжээ нь хамгийн өндөр чанарын горимд 469 КБ байна. Бүтэцийг видео санах ойд байрлуулахдаа туршилтанд ашигласан JPEG болон PNG форматын бүтэц нь 16 МБ санах ой зарцуулсан бол форматтай текстийн хувьд
BC2, PVRTC1 болон ETC1 дээр орчуулахад 1 МБ санах ой, BC4 дээр орчуулахад 7 МБ шаардлагатай.
Одоо байгаа програмуудыг Basis Universal руу шилжүүлэх үйл явц нь маш энгийн. Шаардлагатай чанарын түвшинг сонгон, төслөөс өгсөн "basisu" хэрэгслийг ашиглан одоо байгаа бүтэц, зургийг шинэ формат руу дахин кодлоход хангалттай. Дараа нь, програм дээр, дүрслэх кодоос өмнө завсрын форматыг одоогийн GPU-ийн дэмждэг формат руу хөрвүүлэх үүрэгтэй baseu transcoder-ийг эхлүүлэх хэрэгтэй. Үүний зэрэгцээ, GPU-д шахсан хэлбэрээр татаж авах зэрэг бүх боловсруулалтын гинжин хэлхээний зургууд шахагдсан хэвээр байна. Зургийг бүхэлд нь идэвхтэй дахин кодлохын оронд GPU нь зөвхөн зургийн шаардлагатай хэсгийг сонгон тайлдаг.
Энэ нь жигд бус бүтэцтэй массив (шоо дөрвөлжин зураг), эзэлхүүн бүтэц, бүтэцтэй массив, mipmap түвшин, видео дараалал эсвэл дурын бүтэцтэй фрагментуудыг нэг файлд хадгалахыг дэмждэг. Жишээлбэл, бүх зургийн нийтлэг палитр, ердийн зургийн загваруудын хуулбарыг ашиглан жижиг видео үүсгэх эсвэл хэд хэдэн бүтэцтэй хослуулахын тулд нэг файлд хэд хэдэн зургийг багцлах боломжтой. Үндсэн Universal кодлогчийн хэрэгжилт нь OpenMP ашиглан олон урсгалтай кодчиллыг дэмждэг. Транскодер одоогоор зөвхөн нэг урсгалтай горимд ажилладаг.
Үүнээс гадна
Зөвхөн GPU тал дээр дараагийн боловсруулалт бүхий видеог оруулах чадвар нь Basis Universal-ийг WebAssembly болон WebGL дээр динамик хэрэглэгчийн интерфэйсийг бий болгох сонирхолтой шийдэл болгож, CPU-ийн хамгийн бага ачаалалтай хэдэн зуун жижиг видеог нэгэн зэрэг харуулах боломжтой болохыг тэмдэглэв. Уламжлалт кодлогчтой WebAssembly-д SIMD зааврыг ашиглах боломжтой болохоос өмнө гүйцэтгэлийн ийм түвшинд хүрэх боломжгүй байгаа тул бүтэц дээр суурилсан видеог ердийн видео ашиглах боломжгүй газруудад ашиглаж болно. Одоогоор видеоны нэмэлт оновчлол, түүний дотор ашиглах чадвар бүхий кодыг нийтлэхээр бэлтгэж байна
Эх сурвалж: opennet.ru