求助 cocoscreator3.x实现的微信小游戏启动时间过长

求助论坛大佬 帮小白解决一下cocoscoreator3.x版本 做的微信小游戏启动时间过长 微信小程序测试 启动分数过低的问题 咨询了cocos官方客服 客服曾经说这个问题引擎内部曾经当做P0级别的问题 解决了一周 最后不了了之 给我的结论是3.x引擎脚本过大 加载时间太久 我也曾经参考了cocos论坛 针对引擎2.4版本启动时间过久的优化策略 用在了3.x上面 找客服几次修改各种问题以后再次在微信上面去测试 收效甚微 所以 想寻求一个大佬站出来 拯救一下 用3.x做小微小游戏且 苦3.x久已 的小白 还是我只能退一步 用cocoscreator做微信小游戏 在3.x做好优化前 只能用2.x的版本去做啊,苦啊啊啊。。。

请问您自行优化之后,现在的启动性能分数为多少?

63分 但是启动平均时长从6秒左右降低了1秒多

我试试对您在小秘书上提交的 demo 优化看看,提测一下看下启动性能分数能到多少。


我这边在等待测试中,系统提示还要等 1.5 小时,我回家再看看。
前两个测试最好成绩为 76 分,此时仅做了自定义首屏渲染和资源压缩,

最后这次做了引擎代码分包加载,上传时主包仅为 56k,

希望能突破 80 分。

优化有效,优化的工程和方案下周一回来发给你。
主要是参考:Cocos Creator 微信小游戏平台启动与包体优化(首屏渲染耗时降低 50%) 中的方案做的。
性能报告截图:


测试报告表格:
1624627039_wxab24c3211f629e8a_testcloud_result.zip (17.1 KB)

2赞

大佬求教 能把你的demo给我参考一下吗

明天发吧,今天临时有事请假了,项目在公司。

好的 谢谢大佬

大佬把优化方案也发我一份吧,我们也一直被小游戏启动速度困扰

关注。我们微信统计的新用户和自己统计的新用户有不少差距,
也可能是首屏时间太长,没点登录按钮就放弃了

大佬 今天有时间了吗

https://doc.weixin.qq.com/txdoc/word?docid=w2_AH4A7gYtADguUCMqHIeTfqDAo5F0S&scode=ADcAmwdCAAoydERRMP&type=0

我在下面的帖子里发了直接可以看的版本。

1赞

谢谢大佬 :heart:

谢谢大佬。

遇到一个问题,文档中的demo代码无法访问,是需要授权吗?截图如下:
screenshot-20210629-132058

我给你权限了。我发一个能直接看的版本吧。

CocosCreator 3.1.0 微信小游戏启动优化方案


一、引擎加载代码分包

  • 引擎分包加载代码: engine-loader.zip(放在项目一级目录下)
  • 创建 engine 分包:
    • 在项目一级目录下创建 subpackages 文件夹,在此文件夹下面创建 engine 文件夹。
    • 将项目一级目录下的 assets 文件夹拷贝到 engine 文件夹下。删除源 assets 文件夹中的 index.js 脚本。删除新 assets 文件夹中除了 index.js 之外的文件。(你的 assets 文件目录可能和下方截图不同,但是没有任何关系。只需要照我说的做就行)
      图片
    • 将项目一级目录下的 libs、src、cocos-js 等文件夹和 application.js、game.js 等脚本移动到 engine 文件夹中。
      图片
    • 修改 application.js 的 loadSettingJson 函数中的 settings 参数:
      图片
    • 修改项目的 game.json 文件,添加分包配置:
      图片
    • 在项目一级目录下创建 game.js 脚本,添加代码:
      图片
    • 本测试例没有使用物理引擎。如果有使用物理引擎,建议使用 ammo 物理引擎,因为它的包体更小。你必须将物理引擎脚本放到子包去加载。参考:发布到微信小游戏 · Cocos Creator
    • 修改后在微信小游戏开发者工具上验证,游戏能正常运行且主包和分包资源已经拆分开为正常:
      图片

二、绘制首屏

  • 将绘制脚本放在你的项目一级目录下:first-screen.zip (1.5 KB) (简单的 Web GL 绘制代码,已进行代码压缩)
  • 将首屏贴图放在你的项目一级目录下。例如本例用于测试的图片:
  • 在项目一级目录下的 game.js 中添加首屏渲染代码,必须在引擎分包前加载:图片
  • 修改 engine 分包中的 game.js,设置 wx.FIRSTRENDER 为 false,用于停止首屏贴图渲染。添加延迟 10 ms ,主要是解决 ios 渲染首屏异常的问题,修改内容如下:图片
  • 因为真机出现首屏渲染图不能铺满屏幕,修改 game.js 红框处的代码为如下(小部分机型上这样修改也会导致无法铺满):图片
  • 因为微信上对于二次创建的 canvas 都是作为离屏 canvas 渲染,会导致游戏内容无法看到。所以需要定制引擎适配层代码。修改路径为 subpackages\engine\libs\wrapper\builtin\Canvas.js 的脚本,修改内容如下:
  • 完成后在真机上运行之后无异常效果为正常。

三、压缩资源

四、优化结果

Cocos Creator 微信小游戏平台启动与包体优化(首屏渲染耗时降低 50%) - Creator - Cocos中文社区

补充:

使用此方案时记得修改构建面板上的插屏设置,最小显示时间设置为 0 。否则游戏进入时间会太长。:图片

20赞

666,大佬NB

请问气氛组还招人吗?我可以全天在论坛里的每个帖子下边都跟帖“666,大佬NB”。能不能给我一份工作 :rofl:

1赞