自定义解压。是怎么解压的。看到官方好像有一个gzip.js文件使用官方的吗
官方的不知道开没开,你自己看下网络请求对比一下文件大小就知道了
压缩解压缩用的pako库
大佬 你们的游戏苹果发烫掉帧咋解决的。我们这边通过测试。
即使没有多少update运算。随着渲染图片渲染spine的变多。苹果就会越来越烫 也掉帧。drawcall控制好了只有三四十。是不是基本上可以确定就是渲染图片导致内存变大。或者说渲染压力太大 导致手机发烫.那是不是只有纹理压缩这一个方案了。
不一定吧,spine如果是实时运算模式也挺占内存的,改成缓存模式试一下?
大佬。你们astc文件大小跟图片大小对比是什么情况。比如1mb图片转成astc格式文件时多大。然后astc进行gzip压缩又变成了多大
麻烦问下,微信小游戏上upzip效率怎么样,是不是无感的,我们项目有大量的图片,担心每次unzip会影响效率。另外spine图和fnt也可以astc吗
口径一样么, astc和图片都gzip了?
图片没有gzip,cdn开启gzip传输就行了
在我们项目里面基本是无感的,你可以自己增加打印看下解压的耗时,spine和fnt也可以使用压缩纹理
我的意思是基于 astc gzip后和图片用cdn gzip 大小比较是什么情况
请教 这个是个什么实现过程?要改CCC的工具源码?
首先写个插件在构建之后实现文件的gzip,然后看下引擎的astc解析源码,自己增加一个ungzip数据的流程
,压缩和解压我用的pako库
多谢解答啊,
第一步插件的工作 这个能实现,第二步呢parser.js里我试着看了看,因为引擎已经支持ASTC了 有了parseASTCTex 应该就是这里的工作了吧,
return function (file, options, onComplete) 里处理解析文件头 和返回astcData的功能,
那么我猜测 是不是比如在return function起始位置那里 加入unzip的处理 然后把unzip后的数据 继续传给后面的流程 就是了,等于加了一个中间解析ZIP的工作 就是了,
当然这是我目前的理解啊 ,有不一致的地方 请指点一下再
改了这里 编译了引擎也 ,定制也应该是成功了,用的是安卓系统测试
目前是先用正常的ASTC格式文件测试 项目包里只有某个图片的ASTC文件 没有导出PNG,图片也显示正常,
比如在parseASTCTex里第一行位置加了console.log ,有日志输出也,
但return function里面 也加了console.log没有运行到就 没有对应日志输出,说明return function应该没有被调用到就,
当然 换成压缩后的ASTC格式文件 就直接运行错误了 initWithImageFile: xxx.astc failed!,return function里面的console.log也没有对应日志输出
感觉ASTC的解析 好像不在parseASTCTex这里就,
我是哪里弄错了可能?
原生环境不需要这么玩呀,这个玩法是适合小游戏远程资源加载,本身apk就类似于zip,astc之后包体会减小的,只需要热更的脚本将astc文件zip,然后热更下载完之后解压,热更新是自带解压文件的,不用动管线
对,现在只是用APK方式测试而已 因为APK测试方便啊 ,定制引擎完引擎,然后打包 然后AS里编译一下 直接连手机就看到效果了 调试方便,目前的问题是 没有按照设计的方法去执行啊,parseASTCTex里return function就没有被执行, 当然 我没试小游戏的环境,但理论上应该一样吧 ,代码的流程是一样的吧 ,难道会是安卓就不会执行return function ?小游戏就会?
应该也是走的这里,你可以加点日志看看,还有编译引擎之后删除之前的构建工程试一下

