遇到一个很头痛的性能问题关于微信小游戏,希望引擎大佬给予指导

做好的物理碰撞的小游戏,在同一台手机上 用微信浏览器打开玩相当流畅,打包到微信小游戏里以体验版进行测试就相当的卡顿。

以下是测试机型
iPhone 6 plus, ios 12
iPhone X ios 13.5

这个已经不是配置问题了,希望引擎大佬们给予帮助,项目进度卡住了:sob:

在一个只有界面元素没有任何操作的DEMO项目中,在微信小游戏环境中运行,FPS会无原无故的下降 到37-43,然后又回上60。

我已在 小游戏的 main.js增加了enableRetina(false)画质下降,但仍是卡顿

游戏过程中没有打印任何LOG都屏蔽了。

DRAWCALLS: 最高 30

游戏过程中没有调用任何微信接口。

再一次强调一下,在同样的手机上,如果在微信的浏览器下玩WEB-MOBILE版本就不会有卡顿,十分流畅,即使在14年的ipad air 2 也十分流畅。换到小游戏环境就卡顿了。

游戏主要是BOX2D的物理计算,没有其它功能。

DEMO可以发邮件吗?

实在找到不原因了,希望引擎大佬给予帮忙或指导,谢谢了! @jare @panda @zzf_Cocos

好奇解决方法, 顶一下

有没有打开调试,或者在update里输出log

没有都是按正式发布。update和lateUpdate都没有

是不是存在频繁刷新或添加系统lab。系统lab会严重影响小游戏性能

系统lab是什么?label?业务上就是物理系统计算其它啥都没了

打开微信开发者工具看下log 是不是报错了,每报一次错就会卡一下

小游戏平台本来就比不上浏览器,你的情况属于正常现象,只能从代码层面去优化了

现在发现的情况是小米6无故正常了,小游戏在iphone 6 plus都很卡,同样网页版本就很正常,
补充一下,是IOS全系列都卡顿,物理系统每一下的计算都卡一下。

你搜搜论坛就知道了,ios没法开启jit就是比android要慢,这问题无解,只能从代码层优化

估计大佬们也忙,没空回复。搜了一遍论坛,基本确定楼上的兄弟说得对,没有jit导致性能低下的结果。
那么没了jit,性能到底有多差呢?这里做一下记录吧。
场景内共106个刚体 108个joint, framerate = 60时,
drawcalls <= 30
场景大小:1.5 * 4096 * 2048
90% 的时间消耗在World.step,这个数据从小米6导出的cpu profiler来的

iPhone XS测试,运行的FPS:30-40
iPhone 6 plush测试:运行的FPS: 12

都是卡顿得不行,只能看能不能优化,不能优化只能判死刑了。:sob:

https://www.jianshu.com/p/e6c72206cb82 关于label问题

关于LABEL,我采用了BMFONT和自制LABEL组件 两种方式,还是BMFONT比较方便。

关于IOS下的微信小游戏性能问题,经过优化之后,ios7 可以有了能过得去的性能表现了。还是得结构优化。

很简单,减少刚体数,减少刚体属性(无关紧要的属性尽量设为0),减少碰撞数,就可以了