潮声隔雨深 · 2020年02月12日

Mali Texture Compression压缩后ktx文件太大

我现在在做的事情是将一个项目从iOS移植到android,遇到的问题是资源太大,包括文件本身和占用内存。

在查找一些资料和询问一些朋友之后,把解决问题的方向方在ect1这种纹理压缩格式上。

原因是这种格式是OpenGL ES 2.0支持的,几乎所有的Android机器都支持。

我用的工具是Mali Texture Compression Tool v4.0.1,刚开始就遇到一个问题,就是生成的ktx文件大小跟预想的有差距。

原始的资源文件是png-24。

我观察过几个文件。最好的生成的文件大小是原始png文件大小的一半;但是有些竟然变大了。而且我对整个资源进行压缩后总的结果竟然也是变大...

按照我现在了解的情况,ktx一个像素只用0.5个byte表示的话,压缩后的文件大小应该跟png-8的文件大小差不多吧。

我使用的是命令行的压缩方式,命令是:

etcpack.exe input_filename out_directory -s fast -e perceptual -c etc1 -ktx

不知道是不是参数有什么问题?

还是这个工具本身就不能达到一定的压缩比?

1 个回答 得票排序 · 时间排序
一知半解 · 2020年02月12日

你好。我刚才用 Mali Texture Compression Tool 4.1.0 实验了一下。实验的图片是 Assignment 3 - Png Format

在图形界面和命令行下都实验了,结果是从304.8kb缩小到79kb。从我的实验来看,压缩似乎没什么问题。要不你用 4.1.0试一试?下载地址在 Mali GPU Texture Compression Tool « Mali Developer Center

你的回答