【引擎组】引擎包体优化信息收集

引擎组的同学们最近一直在做包体优化,包括:

这些都是在 3.8.4 版本做的。未来我们还会持续优化包体。大家如果有别的好的方法也可以分享给我们。谢谢。

11赞

启动耗时优化有规划吗,类似这种的

https://blog.csdn.net/FL63Zv9Zou86950w/article/details/129679515

2赞
  1. 将预制体、scene、meta文件中的默认值属性去掉,以时间换空间

  2. 使用 nanoid 换掉 uuid

1赞

和性能有关的也是重点,有规划。

1赞

这个我们会看下可行性。

2赞

有没有想法给bundle一个本地zip的可能,让开发者按需使用

2赞

如果和包体优化没有关系的问题最好单独建 issue 去讨论。

和游戏包体有关系,单跟引擎的包体优化倒确实没关系 :joy:

那你能否详细说下需求和带来的优化效果?


能否把功能裁剪这一块的“用户界面”这一栏再细分些类别的哦, 现在只选勾选了基础的2d功能和一个spine,打包出来就有2.5M了
image

这个在计划中,会逐步完善。

1.如果bundle能zip放在包体内(也就是我提的这个需求),那么包体肯定比bundle不zip的时候小得多,这个带来的问题是加载bundle还多了一步解压,加载时间变长,但是这个功能可以用在不是马上用到的资源上啊,我可以一边玩一边后台解压对应的zip。

额外补充一下web包的bundle不能zip的问题,之前其实论坛有一个帖子,就说到web包读取部分资源存在大量零碎文件会产生许多下载请求,由于web端引擎也没有给bundle提供zip的的选项,所以贴主自己给整了一个web端的zip,可能让下载请求骤减,当然,有些人会说如果zip包过大会更慢这不是负优化吗,但是其实都可以自行调整zip的内容,能让加载速度有不小的提升。

总结就是bundle能够自由的在所有平台都能zip,并且可以放远程也可以放本地,那肯定优化空间大!

大概明白了,就是说支持对 bundle 进行压缩。

嗯嗯,没错的

好的,这个也会加入考虑范围内。谢谢。

1赞

我这边对包体有几个需求,正在抓头:1.启动提速:a.web在网络较差的时候,观测到引擎文件线性加载,可否并行加载。b.可否引擎模块延迟加载,比如骨骼动画,模型在登录界面用不上,暂时不初始化。启动后下载,在需要的时候初始化,进游戏场景时才加载。
2.压缩包,目前只有小游戏bundle有压缩包选项,其他平台也有压缩需求

3赞

现在引擎是一股脑打包成cc.js 好几兆,应该拆分成好多个模块才对

DG9_C%O2F`RRPHXIR2A%P 基础3D功能默认强制勾选,必须要勾一下3D再取消才能去掉。2D强制能理解,毕竟做2d还是3d基础ui必不可少。

.cconb文件属于跟spine应该没关系吧,我的动画模块只用到缓动系统和spine,出web包中却有.cconb文件,虽然只有3k不到,删掉也不影响,可否出包就不打出这种文件

有没有考虑过使用一个最小包含库,只用到精灵文本,渲染之类的,然后其他的作为定制插件去使用。我觉得pixi这块做的还挺好,虽然没有编辑器,但是可以参考一下这种扩展方式

1赞

const enum 可以支持下?