iOS浏览器比iOS原生更快是什么原因?

原生App

iOS手机浏览器

如图所示,打包成iOS App后,各种数据暴增,严重卡顿。
但是在同一台手机浏览器上,却非常流畅

一直用模拟器开发,因为需要大量数值计算,所以也试过模拟器卡顿,经过一系列优化后,模拟器浏览器都流畅了。。但是最后却卡在原生App上。
非常不解是什么原因导致耗时。
有人可以分析分析,我应该从哪方面入手去寻找问题并解决吗?

Ps:创建的角色(数量,数值都是一样的)但是web模拟器上就是比原生的drawcall少一半。

你先看看你的drawcall为啥相差了一倍

这个我也是很奇怪
我知道drawcall是一部分问题。
但是创建同样多的角色(各种数值都一样)
web模拟器就是比原生drawcall少一半。

这DC数量是认真的吗,应该有很大的优化空间吧。。。

是有的,但是我想先找到问题。
我也尝试了把drawcall降低到了100内。
但是web模拟器还是比原生App快。
主要就是GameLogic的差别。。
同样一套逻辑,原生和web的性能差别是如何优化呢?

已经优化了一周了,想放弃了。
把drawcall降到100内,iOS原生该卡还是会卡。
每敲几行代码,就要打包到原生手机上跑一次,真累。

大量的数值运算是什么,是物理系统还是什么特殊的战斗逻辑?看图GameLogic耗时也太多了,现在的数值运算是在JS层写的吗,是否考虑把这些数值运算放到OC里

一开始用物理引擎,在模拟器上也是很卡,但是经过了优化,模拟器上和iOS手机浏览器上可以保持55帧以上。这里想当然以为原生更加没问题。然而事实相反。

后来取消了物理引擎,使用纯数学运算,计算坐标等数值运算。性能比一开始好了很多,但是随着计算数据增加,最后还是掉帧到20-30;模拟器和手机浏览器还是可以保持60;

如果专门做iOS的话,我也会考虑放OC里面运算,甚至用iOS原生框架开发了:joy:。。

要不考虑下策划方面的修改,比如限制物理单位数量什么的;然后算法层面优化,类似碰撞有做运算分组吗;等等,楼主加油 -,-

目前就是限制一下,尽量设计关卡在流畅范围内。。不过这个是作为最后不得已的方案。
还是尽力研究一下,也是在算法方面入手。
谢谢鼓励

版本2.0以上会有这样的问题

使用了QuadTree优化,目前性能有显著的提升。
太感动了

ios原生没有开jit,所以卡。特别是物理那块

这drawcall…
我看到drawcall 100都会很慌,你这超的有点严重,估计就算不卡,手机也得烫死

对对对,后面发现就是物理特别卡

这个dc主要是在开发阶段,很多资源不确定,所以没有合图。
这个只有一部分原因,主要还是物理引擎卡

主要是没jit, 不知道2.2有没有做jit优化