关于改善json加载慢的问题

我们都知道cocostudio导出的各种json ,加载及其的缓慢耗时,严重的影响了游戏的体验,又不提供异步加载(线程安全问题)。强烈建议提供json转换成lua格式的工具,导出成luo直接执行代码。具体的做法是:把json格式直接转换成相应的lua table的格式。这样做有几个好处,一是cocos天生支持lua,几乎没有太大困难。二是lua代码执行的方式,几乎不用耗时,省下了加载的满上时间,极大的提高了游戏体验。三是不会对现有的框架造成冲击,单纯的提供json转换lua的工具而已。

你好,下一个版本的cocos2d-x将会提供二进制数据,对于解析加速是很明显的。关于您提出的lua表存取,局限性有些过高,因为cocos2d-x包含的很多版本,除了lua还有js和cpp,导出lua表将无法供其他版本使用。

lua表示直接编译到程序里面,二进制文件还需要复杂的读取解析过程,性能势必比lua直接编译到程序里面的差的多,希望考虑

前几天看了下代码,好像是autoreleasepool的问题,默认使用的widgetFromJsonFile()里生成的每个widget都autorelease过了,但是异步加载的时候并没有被addchild里,mainloop里有pool的clear动作,就冲突了,不知道还有其他什么冲突的地方不

要改成异步加载还真比较,我之前想重写个widgetFromJsonFile里生成的widget都只new先不autorelease,生成之后自己存上,取来用的时候再遍历下widget树把每个autorelease下,但也要改好多,还没试行不行

json 不是个好格式,这东西加载速度太慢,耗费巨量的cpu,要消耗大量的cpu时间用来解析其复杂的关系结构。虽然通用,却失去了手机游戏当中最重要的性能