JSB loadRes加载prefab的速度问题

原生加载预制体的速度慢的有点过分,是我的姿势不对么?

环境 creator1.6.1,预制体结构
背景图(750x1094)、logo、图片进度条和若干文字标签<用的系统字体>,尝试勾选延迟加载资源,和去掉背景图对结果没有数量级的影响。

输出日志的代码

Chrome浏览器PC

Cocos模拟器PC

坚果手机android ( release build),虽然是个低端机但这个用了做UI的预制体已经相当简单了

@jare @panda 召唤大神

能不能提交一个 demo,我测看看?一般没有这么慢。

demo.zip (892.4 KB)
请支持,开始我以为自己发现了是manifest的问题,后来试了好像又不是,可能晚上有点晕了,还是请大神帮忙吧。

@jare demo是否能用,可有什么线索?

我晚点看看…… 这两天比较忙哈

好的,辛苦啦,我也是没啥办法了

这个问题主要是出在 Prefab 第一次加载时的预优化上面。第二次加载相同的 Prefab 时,速度就会非常快了。

我打算用prefab来实现ui面板,它们基本也就加载一次,我有什么办法改善么(比如关闭预优化或是把预优化离线前置,我看有个compileCreatefunction,我把它离线处理一下,把结果存下来,理论上是否可行,可以的话我明天就动手尝试一下)?或是我这个出发点就不合适?

之后会提供预优化选项给用户。目前你可以尝试加载到 prefab 后,先

prefab._createFunction = function () {
  return cc.instantiate._clone(this.data, this.data);
};

然后再 instantiate,应该就会快不少。

不好意思说错了,这里卡顿主要不是预优化导致的。主要还是资源加载和反序列化引起的。

建议构建时分别尝试这两个属性看看。

好的多谢

这个是什么原理?