这个发热量和js代码执行的效率甚至不如我用手机网页直接扫开发者工具试玩的高。话说V8引擎怎么会是这个样子啊
v8只是js的运行环境 中间还经过一层jsb 去调用原生的c++
所以,有这么一种游戏方案,导出H5,IOS加载H5,效率比原生高蛮多,哈哈哈哈
经过我充分的测试,在安卓手机上,原生比网页大概性能提高了 50%-100%。而在iPhone手机上,原生的性能比网页版反而下降了10%左右。
这个可能是非常好的结果了,因为 iOS Safari 支持 JIT,但是苹果禁止所有其他的 JS 环境使用 JIT,所以原生包里面的所有 JS 代码都是解释执行的,性能损耗自然会高不少。
微信小游戏也是同样的问题,你可以对比一下原生包和微信小游戏里面的性能差异看看有多少
我发现个神奇的现象,当我选择调试模式,既不压缩Js代码的时候,我在IPhone7可以流畅的保证30fps。而且几乎不发烫。当我使用压缩Js代码的时候,每玩3关,就有一关,game login 花费的时间达到了100ms。而且发烫简直可怕。所以我现在得到的结论是发布ios要选择 调试模式发布,发布android要压缩Js代码。
是的,就是这个结果,简直可怕,如果不考虑做web,建议不要用creator。而且scene 的切换速度相比1.9版本, 慢了100%
请大家耐心一些,这只是 beta 版,遇到问题我们都在关注,会尽可能找到原因修复,不要因为一个测试版本的问题就下结论。
有没有办法测试js代码里某个函数执行时长的办法啊,panda。我现在遇到一个诡异的情况是,我的游戏正常玩的时候是game logic是 10ms。不卡,但是玩个五六局就会出现game loginc达到了100ms。但是我的关键很耗性能的逻辑函数我都打了log。看看执行时间都是很短的1ms。所以我现在不知道这个 100ms到底是怎么出现的,是谁占用了我的100ms.
参考 Creator 文档中的 JSB 远程调试来测试 JS 的 profile
https://docs.cocos.com/creator/manual/zh/advanced-topics/JSB2.0-learning.html#远程调试与-profile
预料之内,ccc2d 也耗电发热厉害