ASTC壓縮格式總結(jié)

ASTC圖片紋理壓縮探討
Unity3D - 關于ASTC壓縮格式的一些資料搜集
Using ASTC Texture Compression for Game Assets
Texture compression formats for platform-specific overrides

ASTC中ARM研發(fā)的一種貼圖壓縮格式,從iOS9(A8架構(gòu))開始支持ASTC壓縮格式 ,相對于PVRTC2/4而言,ASTC(4X4)的壓縮比會增加到0.25,不過顯示效果也會好很多,而且不要求圖片長寬相等且為2的冪次方。支持Android OpenGL ES 3.1 和 Vulkan 設備。

支持的GPU:
tvOS (all), iOS (A8), Android (PowerVR 6XT, Mali T600 series, Adreno 400 series, Tegra K1).
如果GPU不支持這種壓縮格式,則解壓為RGB或者RGBA。會增加cpu解壓時間,并占用較多內(nèi)存。
2016年之后的安卓手機基本支持這種壓縮格式
iphone6以及之后的機型支持這種壓縮格式

圖片壓縮核心思想是將大圖分為多個顏色塊,每個顏色塊固定大小為16-bytes,單個顏色塊里的顏色像素怎么劃分不關心。意思是將圖片分成多個顏色塊,每個顏色塊固定大小為16-bytes,但是每一個16-bytes的顏色塊中放多少個像素是可選的,分別為4x4,5x5,6x6,8x8,10x10和12x12,單顏色塊中放的像素越多那么壓縮率越高,相應的質(zhì)量也越差。

公式

像素大小 = 16-bytes / 分塊寬高 * 8-bit;
壓縮率 = 原始像素大小(32-bit) / 像素大??;
圖像大小 = 原始圖片大小 / 壓縮率;

假設一張4MB的1024*1024原始圖片:

塊寬高 像素大小(bits) 壓縮率 壓縮后圖片大小
4*4 8 4 1MB
5*5 5.12 6.25 655KB
6*6 3.56 8.99 455.62KB
8*8 2 16 256KB
10*10 1.28 25 163KB
12*12 0.89 35.95 113.93KB

圖片大小(MB)=長x寬x像素大小(bits)/8/1024/1024

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容