人工点赞
负责任的说,Creator 2.x 改动很大,但是我们项目组毅然决然的从 1.10.1 升级了,用了一周的时间填了版本差异,2.0.4 用了一个多月了吧,这周升级的 2.0.6,期待 2.0.7
不知道楼主低端机性能问题是否解决了。遇到同样的问题,目前项目版本1.8.2,项目主要的瓶颈问题是native的性能问题。前期开发速度提升了一倍不止,后期维护优化却比cocos2dx难上很多狠多。由于我们的用户有一些低端机型。iphone5s,华为千元机等。卡顿,特别是切换场景的速度,遇到了很大的瓶颈问题。不敢贸然升级引擎,因为需要整包更新,整包更新对用户体验很差。只能去一点一点节省开支,来规避这些性能问题。很多东西从开始写到上线,重构了很多次。到后面,节点prefab,能复用的全部复用。把消耗降到最低。这样的代价就是,代码的逻辑写的特别复杂。要不停的重置prefab。不断的复用之前的东西。也很容易出很多bug。所以也在修复bug这个路上走的越来越久。主要原因还是对creator以及js的不熟悉。楼主说开发难度降低,但我看来,creator的开发难度要比cocos2dx高很多,如果要把项目做到精致,解决性能问题的话。真的挺难的。因为本身原生性能比cocos2dx差很多。优化就要比cocos2dx花费更多的精力。所以下个项目还要不要继续用creator呢。
之前有升级到2.0版本,后来遇到native性能和bug多的问题,就回退了。项目要一直维护的话,肯定是要升级引擎的。但我会先用2.0开发新的项目,如果稳定,就再考虑升级旧项目。
低端的性能没有解决。
跟你们一样,也是每次更新的时候优化一点点。个人认为低端机属体验不够好的问题,既然目前鱼和熊掌不能都得,何必过分纠结,主流机型上体验过的去就可以了,按现在手机硬件的发展速度,低端机淘汰的速度应该不会太慢。
我的是单机游戏,我就没有使用热更新,从来都是整包更新。
我没有去了解热更新的技术,而且creator1.x和2.x版本热更新好像不能兼容。
复用prefab和使用对象池的话,会让逻辑复杂些。
我遇到的主要还是在复用时的重置和初始化逻辑。认真理一下逻辑,应该能解决大部分因为复用导致的问题,但确实会比较耗精力。
如果是因为对js不了解的原因导致的bug,那其实可以使用TypeScript替代js增强类型检查或者更简单点–稍微深入学习下JavaScript。不是要追求代码的优雅性的话,个人觉得需要用到js高级特性的地方其实不多。因为我是半路出家的写程序,感觉来来回回差不多都是使用那三板斧,这个项目中甚至自己几乎都没用到类的继承
(难道我一直都不是在面向对象编程
)。
开发门槛个人觉得却实是降低了很多,开发难度的话,这个因人和项目而异吧
性能问题,这个我也没解决,能力有限,还得依赖引擎组的大大们想办法。
使用cocos2d-x的开发太慢。而且随着手机性能的一直提高和引擎的迭代升级,性能问题终究会是过去式。所以个人开发者和小团队,肯定是要拥抱cocos creator的。
因为我是自己一条龙制作,而且并非全职做,所以分配给写代码的时间并没有特别多,有个想法就做上去看看,使用creator的话,单单编译都会节省非常多的时间。所以下个项目还会是使用creator。
以上是俺的一些看法
厉害。。。
老哥赶紧的,2.1.0下不去了,快上2.1.1合并一下这个版本的内容
感谢楼主的长篇经验分享,非常感谢!
我刚才公司群里说,和 Cocos Studio 时代相比,恍若隔世。以前是只有骂的,从未听过有表扬和支持的声音。
目前 Creator 对比于 cocos2d-x 的原生性能降低,有几个方面的原因:
- 很大一部分是来自于 jsvm 本身就是比 lua c++ 慢很多
- 另一方面来自于 entity-component 结构的消耗
- 还有来源于 creator 1.x 里面强行耦合 creator 的逻辑树和 cocos2d-x 节点树。这块已经在 creator 2.0 里面解决掉了。
Creator 2.0 里面的一些优化点,可以看下 Panda 的PPT:
这张图说的是 Creator 1.x 时代 sgNode 的额外开销,强行对接了 Creator 逻辑树到 Cocos2d-x上面
这两张说的是渲染流程上的改进,减少逻辑分支的计算开销。
当然还有 Panda 很引以为豪的零垃圾回收设计等等,都不同程度地提高了 Creator 2.0 相比于 1.x 的性能。
但是团队也在 Creator 2.0 里面挖了一个新坑,就是把 DragonBones, Spine 等谷歌编辑器的解析层,从 C++ 挪到了 JavaScript,导致用到骨骼动画的游戏,在2.0里面反而性能降低了。这个坑已经在 2.0.7 里面回填了。
而 2.0.7 里面进一步修复了一些导致无法批量渲染的地方,所以同样游戏在 2.0.7 的 draw call 会比 2.0.0 更低一些。
原生性能这块,我们确实很有蛮多可提升的方案设计,比如:
但因为今年绝大多数人都没版号被挤到小游戏领域了,加上棋牌游戏被封杀,所以今年的引擎研发投入完全是小游戏优先了。根据明年的版号情况、以及大家新立项原生游戏的情况,我们也会随之调整在 iOS Android 平台上的研发投入,以满足大家的需求。
另外说一句, 像塔防这种游戏, 如果敌人很小,重复性又特别高。 保证一个动作4-5帧(省内存),用序列帧会流畅几十倍。
一个人 美术、策划、程序、测试 厉害
大神有考虑2.0.x也支持压缩纹理吗?
居然把王哲大大也引出来了
字没白码
改动有点大,有空试试吧
请问1.10原生的有什么自己可以优化的空间吗
有1.9.3和2.0.10iOS闪退数据对比,游戏性能我觉得是其次,引擎稳定性才是优先考虑
哎,头脑一热,想用richtext的一个新特性,没办法升级了
收到谢谢



