csloader创建的node不能复制吗?每次调用createNode都会卡一下。

每次调用cc.CSLoader:createNode都卡一下,怎么破?这个方法不会缓存一下以前读取过的文件吗?

文件不好缓存,因为无法预测你的文件未来是否会用到,也无法预测你的内存大小,及缓冲多少内存合适。

还有debug版本确实会加载较慢,release会快得多。
此前测试过10000次加载(10个控件)只需要1秒钟的

用那个flash转cocos的插件的骨骼动画都有很多个csb,如果每次createNode的时候都去加载这么多个csb感觉很惨。
不能好像spriteframecache那样需要的时候可以先预加载一下,以后createnode的时候发现在cache有就直接拿来用吗?而不再需要去重复加载那么多次csb?

flash好像可以设置不转csb你瞧瞧

那个插件貌似是一个元件就要对应一个csb了。

加载csb,频繁的硬盘io总觉得是可以避免的。

你是在手机上测试的吗?可有测试数据
是release版本的结果吗?createNode在debug版本与release版本性能相差至少1个数量级。因而对debug版本的性能测试不具备参考价值。

还有你的csb里边有哪些控件?

release版本就是指打成app那种?
csb里边都是精灵。

打包成APP一般都会打包成release版本。 你先测试下app吧

:8:同问此问题,我游戏里做了一个背包功能,背包的格子是用cocosstudio2.3.1做的一个通用格子显示,当背包的数据大于50个以上的时候,打开背包非常的卡,我每次创建一个背包格子,都会调用CSLoader::createNode方法创建一个节点,然后add到tableview上显示,效率非常的低,我在windows上换成release还是非常的慢,打出来的debug-akp在手机上运行也是很慢,我感觉就算是relase应该也会慢,不知道为什么。我现在打算放弃csb,打算手码了,求官方给方法,对于node能不能像U3D那样,额可以克隆对象呢???求方法,现在项目急需解决此问题啊!

可以
直接克隆就行 不需要create

经研究源码发现数据是可以缓存起来的,我们直接使用的CSLoader的createNodeWithFlatBuffers方法,但是发现再一个for循环中的话内存会首先持续增高,然后再下来,但是如果实在太高的话就会造成程序闪退,不知道楼主找到原因了没有。

cocosstudio的csb加载效率还有很大的提升空间。