cc.instantiate在web下卡顿的时间较长怎么解决

如果一个prefab界面UI元素相对多或者渲染的图片相对比较丰富的情况下,会造成instantiate的时间较长,尤其是web端,jsb相对来说好一些些。这样会导致前一个页面已经移除,后一个页面还没有渲染出来的情况,怎么能知道instantiate的完成进度呢?靠enable么难道?还是说有什么别的方式。或者是怎么能提升instantiate的渲染性能呢?

你用的是什么版本?我记得 1.4.2 就优化过了,1.5 也优化了一点。我不太相信 instantiate 一个 prefab 时,性能会比你自己手动 new,手动赋值属性来的慢。

1.4.2的。我感觉问题好像出现在图片的load上,比如我的prefab里面有一些图片,然后它会在instantiate的时候动态加载这些图片,只有全部加载完毕才进行渲染,应该是这个逻辑。但是如果一旦图片较多或者较大的时候,这个时间就会随网络时间变长,这个不太可控,是不是能够提供一个finish的callback或者说我如果提前加载这些静态的资源会提升这个速度呢?

图片会有缓存的,你最好 profile 下吧。或者试试 1.5.1

好的,我先试试缓存看看行不行,不过还是建议能在预加载完成之后抛个事件或者做个callback,要不这个页面的预加载确实挺蛋疼的