ASTC圖片紋理壓縮探討


ASTC中ARM研發的一種較新的貼圖壓縮格式,從IOS9(A8架構,現在都iOS12了)開始支持ASTC壓縮格式 ,相對於PVRTC2/4而言,ASTC(4X4)的壓縮比會增加到0.25,不過顯示效果也會好很多,而且不要求圖片長寬相等且為2的冪次方。而且Android設備也支持。

圖片壓縮核心思想是將大圖分為多個顏色塊,每個顏色塊固定大小為16-bytes,單個顏色塊里的顏色像素怎么划分不關心,這里只記錄下ASTC格式圖片壓縮后的像素大小、圖片壓縮率、圖片總體大小。

對此格式圖片的壓縮率可能是一些公司面試的考點。

 

公式

像素大小 = 16-bytes / 分塊寬高 * 8-bit;

壓縮率 = 原始像素大小(32-bit) / 像素塊大小;

圖像大小 = 原始圖片大小 / 壓縮率;

 

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

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

 

 

參考:

https://www.khronos.org/opengl/wiki/ASTC_Texture_Compression

https://www.khronos.org/registry/OpenGL/extensions/KHR/KHR_texture_compression_astc_hdr.txt

https://blog.csdn.net/ltycloud/article/details/81630515

 

在官方文檔上也有ASTC的壓縮率:

https://docs.unity3d.com/Manual/class-TextureImporterOverride.html

https://developer.nvidia.com/astc-texture-compression-for-game-assets

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM