内存(显存)更小,项目里面图片太多了。如果都是png容易内存不足,宁愿稍微下载慢一点。再说开了cdn的gzip压缩,astc实际上下载的数据也不大。
如果先用tinypng压一遍,再用astc,会不会更好一点?现在项目再尝试,还在踩坑中
astc和源图是不是tinypng压过的没关系,astc文件的原始体积只和图片的面积有关(以及区块选择大小)。
用tinypng压过再astc,比起直接astc来说,文件体积不变反而质量会差。可能包体会变化一点点(包体zip压缩),但是应该变化比没有那么大。
最好的方案
项目用品质高的PNG和jpg原图
项目根据平台选择使用合理的ASTC 比如 5X5、6X6 、8X8、10X10
在构建项目后 使用压缩工具批量压缩 (此处也可以改成插件批量压缩)
此时,对应的png 质量和大小都是压缩后的 质量稍差,但是物理体积小
ASTC 纹理 质量相对比较好,远程CDN开启 ASTC gzip 压缩即可
小游戏平台可以参考这个文章: 抖音官方文档 性能优化
ASTC可以 参考: ASTC纹理压缩介绍
懂了。感谢大佬。但是如果考虑到一些不支持astc的平台,这个时候tinypng压缩过的优势就体现出来了吧。
是啊,所以如果是资源都在cdn上面的平台,例如web和微信小游戏,往往都是准备2份资源,astc和png,根据支持的情况下载对应的格式,编辑器里面的纹理压缩设置,也有同时出多份资源的设置。
嗯嗯。了解。
再请教下之前说的cdn开启gzip这个问题?第一次接触,有些不太清楚,除了cdn的配置,cocos这边还需要配置什么吗?
不用配置什么,本身http库支持这个。自动解压的
不过cocos有个bug,windows原生平台上的curl,没开启支持gzip的标志,如果你要用windows原生的话记得给curl加一行:
curl_easy_setopt(handle, CURLOPT_ACCEPT_ENCODING, “”);
其他平台不影响。
好的好的。再次感谢! 
大佬, 想咨询下, 这个方案的意思是说:
项目build之后, 用插件或者压缩工具, 把构建后的图统一压缩成astc吗,
比如我构建出来的远程包里的图片都是xxx(uuid).png的, astc压缩后, 替换png 为xxx(uuid).astc这样?
另外在cos上准备两份remote资源, 一份原始png的, 一份压缩成astc的,
判断平台是否支持astc后, 动态改远程加载地址去选择加载png还是astc? 是这样吗
大佬, 想咨询下, 这个方案的意思是说:
项目build之后, 用插件或者压缩工具, 把构建后的图统一压缩成astc吗,
比如构建出来的远程包里的图片都是xxx(uuid).png的, astc压缩后, 替换png 为xxx(uuid).astc这样?
另外在cos上准备两份remote资源, 一份原始png的, 一份压缩成astc的,
判断平台是否支持astc后, 动态改远程加载地址去选择加载png还是astc? 是这样吗
不需要额外插件或者压缩工具,cocos creator里面就有配置纹理压缩的,打包的时候就自动压缩,运行时引擎本身也会判断支持不支持来决定加载哪份资源。
所以简单的在编辑器里面配置好就可以了,顶多加个脚本对目录里面的所有资源进行统一设置(因为creator是针对单个资源进行设置)。
是的,自己慢慢调,一般png默认80,你可以设置更低的来看看效果。
谢谢, 非常感谢~
谢谢大佬, 太感谢了.
构建后压缩png的话, 是用tinypng吗, 还是有别的png压缩插件或者方案的
太感谢了, 谢谢大佬



