新版2.2的优化机制分析,有关于2.2的安卓源生渲染提升,总结来说对源生来说2.2是值得的版本。

11.6更新。
如果把握了2.2带来的负面消耗,还是一个很值得的版本,2.2已知zindex性能下降,但是消耗合理,毕竟对于IOS来说,渲染性能是很大很大幅度的提高。sprite性能实际并没有太大的出入。建议完善源生的调试模式,chrome调试源生的时候不老好用

在运营项目现在据我个人分析,2.2确实提高了渲染性能,IOS较为明显,安卓肉眼不可见,当页面有几百上千个要渲染的时候,确实能提高渲染的效果,帧数明显提高。

将渲染放到底层,肯定有个前提,就是某些计算或者什么操作,来将这些渲染交给底层,这个交付时间起名为时间A。

这时候会有一个问题,将渲染放到底层渲染,ios这么做是没问题的,带来的提升足以抵消时间A带来的消耗,这个价值交换感觉值得。

但安卓却适得其反,首先安卓的提升有限,甚至肉眼不可见,据我玩家的反馈,一些低端机出现了加载出这几百上千node 很慢的情况(估计是时间A的原因)而换来的渲染性能提升却肉眼不可见。

据我的测试,新版2.2的计算性能却没有2.1.2表现的优异,如果100个士兵同时A-star寻路,在IOS上表现不及2.1.2,甚至iphoneX都会卡一下(一个目标死亡,100个攻击者切换目标的情况)

还有一个是粒子效果问题,源生的粒子显示已经乱了,尽管前几日有一位引擎组人员修复了粒子颜色不生效(其实没有修改好,我将对应的c++对照github修改后,再点击‘编译引擎’,并没有效果,难道还需要命令行重新编译引擎?就像自定义引擎那样?)

所以我的个人感觉是,IOS可以拿计算换渲染,安卓完全可以保持之前2.1.2的方式(拙见)

Jare 插播广告:楼主在 50 楼回复了:经过测试和引擎团队的协助,发现是zindex的问题,2.2的zindex性能相较2.1.2(因2.2要有源生渲染交互)有了下降,下降了还不少,但这也是合理消耗

2赞

看图的话,当3000元素的时候,提升为20帧,a57 的 骁龙435 基本代表市面现在最低端机型了吧,20帧和12帧的区别实际并没有这么大,而这个仅是理论测试的数据,实际据玩家反馈,新版并没有这么大的帧数差距。

为了提升渲染性能,这个交付时间对于一些情况来说反而起了反面作用。

就像切换场景,切换时举例 2.1.2需要5秒或6秒加载一个3000渲染元素的场景,而2.2 直接十几秒开外,为了那几帧的提升,很明显太影响玩家体验了。

但这个交付底层的时间对于一些手机来说却适得其反了,不清楚之前的版本安卓底层有做多少,咱也不是做这块的,但肯定的是,安卓这么做带来的交换可能不那么值得

之前我没有理解2.2到底提升的是什么,现在我终于明白了,原来2.2提升的是同时显示在屏幕上的图片数量,但是却大幅降低了创建对象的效率

2.2 正式版,用小米6,做新窗体打开,确实感觉比2.1.3卡顿,大家有什么优化技巧没有

计算性能理论上只和js本身有关,和2.2性能优化关系不大,目前猜测两个原因,是否卡顿由其它模块引起(一个目标死亡,100个攻击者切换目标的情况)诸如此类是否会触发一些模块的逻辑,还有就是2.2 ios的js引擎由jsc换成了v8。

切换场景,加载3000个渲染元素,和之前相比慢上10秒,我们之前测试差距没有这么大,方便提供一个demo我们分析下么,如果涉及到项目隐私问题,不方便公开,可以加我QQ 1053210246发我。

降版本,因为2.2的创建对象的效率比之前的版本慢了几倍

我也觉得慢10秒是太夸张了,他可能是因为也有别的原因,不过现在2.2的创建对象效率确实是比之前的版本慢了几倍呀!!!

你的是web还是原生?

2.2确实有明显的性能提升,而所谓的渲染慢的问题, 可能是你们逻辑程序问题, 我渲染5000个spine都没那么久. 也就5000个带debug绘制线的刚体要2-3分钟.

红米2以下配置的安卓机,根本不需要支持了.压根手机是旧废品.别说玩中度以上游戏的业务需求了,

王者荣耀和和平精英都玩不了的手机 , 根本就不需要考虑他的低配需求, 腾讯开发的性能优化已经是极致了! 这种都玩不了,那手机就是不能玩中度以上游戏的

同样的代码,2.1.3 在小米6上还是比较流畅,2.2就很卡,我是打开一个自制窗体,窗体有放大的动画,如果逻辑有问题,2.1.3应该也一样的卡才对

web和原生都变慢了,我之前不是还专门发了一个帖子的嘛

相同的代码,2.2的切换场景就是肉眼可见的慢,受到了不少玩家的反馈,就是切换场景的时候慢了。

游戏里切换场景的意思是,删除当前地图中的所有元素,大约两三千个sprite,然后再全部加载新的布局,新的布局中,如果是新玩家元素很少的情况,速度就差别不大。

但如果是高级别的玩家,场景元素两三千的,就会明显比之前慢。不确定我是不是触发了2.2的什么敏感的地方

https://forum.cocos.com/t/cocos-creator2-2-0-instantiate/84991

我测试web是和之前2.1.2没有多大区别的,(浏览器调试),源生的表现和web 差别巨大,差别在加载速度,而不是加载出以后的渲染表现

不管是用cc.instantiate还是用new cc.Node()都比以前的版本慢了几倍!!!

估计像咱们这样出现加载慢的情况,都和创建node有关,我的创建方式是,

方不方便通过下好友,我将客户端发您

creator2.2.0 instantiate性能下降比较多,希望引擎大大们可以关注一下这个问题

可以啊,我好像没收到好友请求?

我看一天前你的聊天记录你也是没收到别人的好友申请,是不是开了什么开关?

我QQ 261372076