我现在在做的事情是将一个项目从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
不知道是不是参数有什么问题?
还是这个工具本身就不能达到一定的压缩比? |