吐槽一下,Cocos越来越臃肿,包体越来越大

这里补充一下,从3.6开始,会多了这么一个文件,因为我是主包合并依赖,所以只有这一个文件,我猜这个文件应该都是材质与shader内容,从3.6以后,应该是从cc.js里面剥离出来了,所以cc.js变小了,但这个文件我相信多了很多不必要的字段,应该是可以好好压缩一下的。

image

在3.7.0版本,会多一个effect.bin文件,但我发现这个东西在web运行时竟然不加载,那这个文件打出来的意义是?是不是3.7.0发得太匆忙了,工作还没有做完?
image

感觉我就是给引擎组打脸呀。

2赞

就微信小游戏构建后,

1.2.0版本是1.92M,

3.7.0保留音频,基础动画功能,骨骼动画,基础3D功能,粒子系统,基础几何体,基础2D功能,用户界面,weboscket,其他剔除。大小是3.25M,是有点大的。

3.6.3配置同3.7.0,大小也是3.25M,

微信小游戏,3.6.3 打包出来就有了,500多KB,并且还有个天空盒的纹理800多KB

官方快来看看!!

mark一下

谢谢大家反馈,这些问题我们会在 3.7.x 跟进解决。
包体问题官方肯定会管。目前我们所有版本都会人工进行空包、2D 项目的包体检查,并且包含 4 个平台。之后需要进行自动化改造,把包体的检查覆盖到所有模块,才能确保不会反复出现同类问题。

3赞

希望早点解决吧,包体大小,是大多数人的痛点了吧,也不能每次更新一个版本号,就开发者去重新看一遍底层那里需要自定义删减吧 :sweat_smile:

什么东西 500 多?
800 多的是哪个天空盒?我们自带的天空盒目前应该没有 800 多的。

这里的,不知道是不是打包方式不对哈。一个json和俩个天空盒图片。俩天空盒总共800多KB。天空盒可以去掉,但是那个json,应该是引入的其他未裁剪模块,有点大。
1675054204(1) 1675054242(1) 1675054253(1)

功能裁剪3D部分,粒子系统占了400KB

那个json里看着都是材质类数据?贴图是你没有删干净吧,根节点取消勾选了吗?

1赞

天空盒贴图删除了,裁剪根节点取消勾选了。现在asset大约260KB,打包出来3.09MB,也就是空包差不多2.7MB。裁剪部分,保留运行状态统计,音频,webview,基础动画功能,骨骼动画,基础3D功能,粒子系统,基础几何体,基础2D功能,用户界面,websocket。目前打算做小游戏,需要战斗特效,UI界面,还有骨骼动画,所以保留了这些。没打算上CDN。

经过测试,目前构建后容易导出多余的默认天空盒,原因如下。

目前这个交互上有个很隐晦的地方,USE HDR 和 LDR 使用的是不同的天空盒图片,并且界面同时只会显示一个槽位,因而你需要分别点两次 “Use HDR“ 去移除这个天空盒才能移除干净

  1. 禁用 HDR,删除 Envmap
    image
  2. 启用 HDR,再次删除 Envmap
    image

抱歉带来困扰,确实比较反人类,后续我们会进行优化。

2赞

这地方,我记得当时我3.5来着,进行功能裁剪,明明没用到天空盒,还报错,当时还找了好久。
真是个大坑 :sweat_smile:

我有点好奇测试出这个bug的过程 :14:

就是检查构建后的资源的时候发现的

这个回复相当有诚意了,不错不错

:+1:,厉害了。

这个问题在scrollview组件上一样的道理,存在一样的问题,在切换horizon和vertical时的scrollbar是不同的

打包web-mobile, assets/internal/import/xx/xxxx.json这个文件里面是把internal所有的材质都加进去了吗?似乎并没有使用到这些材质啊,无形中又丢了小1M空间,这让对容量敏感的,雪上加霜啊