UI界面切换有卡顿,玩久了有加重趋势,优化方向探讨

用creator做的游戏开测了:
http://www.9game.cn/kuaidaxianfeng/

android平台,玩一会儿后,明显能感觉UI卡顿有加重趋势,不知道优化方向还有哪些。

目前所做的优化有:
1、界面UI均采用图集的方式使用,android资源使用了etc1格式压缩处理
2、res中的分散json文件集合到一个大文件中,加载游戏时读到内存中,不再每次需要时读取分离的json文件
3、场景切换时释放loadRes动态加载的资源

目前creator版本用的1.40

不知道还有些什么优化方向,恭请有经验的大大不吝指教, 谢谢~~

我们目前正在做 native js 性能的优化,你可以加我的 QQ,大概月底可以提供一个内测版本给你

2赞

谢谢:+1:

主要优化了哪些方面呢

升级 JS 引擎,开启 Generational GC,这两个是对性能提升最显著的

2赞

除开你们引擎的优化,我们还可以做些什么来提升性能呢,能够让游戏更流畅

谢谢 dowling 的回复。

我们游戏界面还是算比较多的,全部加载后不释放估计够呛,目前把用得多的图集资源常驻内存了,应该会好一点点。

UI界面的逻辑都不复杂,就一般的刷新显示,逻辑复杂的战斗逻辑是用c++写的,感觉战斗界面还是蛮流畅的呢,暂时先优化其他方面吧。

已经等不及要更新了

问下兄弟,etc1后包体有增大吗,性能提升你感觉怎么样。我有体验你的游戏。战斗体验很不错,UI确实有点卡。

我知道的优化方向,是一定要注意渲染批次的优化。cocos的性能损耗费基本绝大多数是在渲染层面。使用图集并不能降低drawcall,你需要根据渲染顺序去调整节点,减少被批闪被打断的次数。

使用etc1编码然后再用压缩下,比png会小很多的,性能上感觉还好吧,只是感觉上,没有数据支持呢

那在creator中如何操作和使用这些etc1的图片呢?或者在creator中可以直接使用?

creator中貌似没法直接用etc的图片,我们目前的使用方式是:

打android包的时候,单独将png转换成etc,并在settings.js中,将转换过的png后缀名改成转换后的后缀名。当然还要改下jsb_polyfill文件,使其能够识别这种格式。

另外creator配套的c++代码(1.40版本及以前)需要稍微修改下。

原代码没有自动加载对应的alpha文件,需要手动设置下去,我们是参照cocos2d-x3.15中的方式,自动加载对应的alpha文件。

多谢多谢

我玩了游戏,打开界面确实卡,不知道楼主有方案了没有,我也遇到了同样的问题,打开对话框时间很长。
我看楼主发帖时间是5月份,现在已经年底了,uc还在删档测试。是没有解决卡的问题吗?

卡的问题一直没有处理,在做其他东西。
jare提供了一个优化方式,不过我们还没用应用,不知道效果如何。你可以先试试。
http://forum.cocos.com/t/prefab-1-7/54122

请问下面这一条是如何做的?
res中的分散json文件集合到一个大文件中,加载游戏时读到内存中,不再每次需要时读取分离的json文件

http://forum.cocos.com/t/res-import-json/52205
或者自己写,自己写工具将res/import中的文件写到一个文件里面