creator1.7加载prefab很慢,是没用flatbuffers导致?

我是直接在项目中打log,计算显示每个UI所需时间。

比如说创建房间的小型UI,有15个toggle(含30个小sprite)、21个label,其他10个小sprite,整个prefab文件大小有160K,首次加载显示需要 1500 毫秒,运行drawcall为28,之后destroy再加载显示需要 280 毫秒(没有loader.releaseRes的情况下),但同样的界面元素在cocos2d-js+cocos studio里,点击马上显示,没有延迟感。。。

1赞

嗯…… 目前 Creator 底层创建的节点是会有点多,确实会慢一些。第二次显示就会快很多了。我也会争取尽快优化这部分效率。

如果有10个图片资源要加载,调用10次loader.loadRes,底层是线性逐个加载还是多线程同时加载?

如果用loader.loadResArray加载10个资源,底层是线性逐个加载还是多线程同时加载?

是多个请求同时发起

不好意思。我又来挖贴了。。。

主要还是addChild慢了,动态生成的界面慢到无法接受。现在唯一能勉强解决的办法也只能提前在页面中摆好,active=false,用的时候再显示出来。

addChild确实太慢了

用flatbuffers存储应该会快很多倍,之前的cocosstudio就是用的这个,既然有技术基础,为什么不用呢?

2.4版本测试了下实例化相对load速度还可以,load一个prefab差不多要200ms左右,实例化大概30-50ms,如果预加载会好很多,但是内存就上去了,在不需要的时候还把资源加载了感觉不太好。