3.3.0打包安卓运行发热严重,怀疑和websocket有关

如题 打包运行发热严重

之前3.0.x时也出过类似的问题,当时参考2.4.2 CPU占用率大幅度增加,发热耗电严重很多 修改websocket后即正常了

升级引擎后又出现了发热问题,去看了最新的WebSocket-libwebsockets.cpp文件,里面的实现已经重写了和以前不一样了,麻烦引擎组查一查

3赞

已经修复了,谢谢。

在哪个版本修复的?

请修复时候说明白哪些版本存在这个问题。2.4.6是否存在这个问题?可否详细说下?

同问,哪个版本修复了呢?时还没发布的3.4.0吗?

改2行代码就好了,还是自己改吧,2.4.7不知道牛年马月

看错了,libwebsocket 的修改是合并到了 3.3.0 https://github.com/cocos-creator/engine-native/pull/3845 。而这个 PR 又引入了 windows 的问题, 修复是在 3.3.1 https://github.com/cocos-creator/engine-native/pull/3869。

从这个情况来看,android 发热问题和 websocket 应该没有关系了。

那如何在安卓手机上去定位发热问题的原因呢?
就我自己的猜测还是和ws有关,因为引擎从3.0到3.3中间确实修改过ws相关的代码,我们游戏本身在升级引擎前后并没有太大的修改

发热主要是两部分引起,一个是 CPU,一个是 GPU。至于你说怎么定位的话,我也没什么好的方法,只能是根据性能分析工具看热点在哪里。

你的逻辑没有改动话,那应该还是引擎的原因导致的。我也不确定是否就一定和 websocket 没有关系,我们也再测试一下。你那边如果方便的话,也可以试试把 websocket 的逻辑回退到没问题的版本试试。

另外,发热是需要特殊的 demo 吗?大概多久可以感受到发热?使用的手机型号是什么呢?

我这边测试使用的手机是三星s10,
我自己测了一下发热时间,3分钟可以感觉到发热了,5分钟可以明显手机变热了,10分钟手机已经开始烫了

链接失效了,麻烦修复下

啥时候可以合并到2.4.6,期待

3.3.2 cpu占用依然很大。。
安卓原生项目
一个场景打开一个websocket,占用cpu直接翻倍,把websocket一关闭,cpu就掉下来了

ios打开websocket电量直接起飞

大佬们来看看啊。
原生项目做不下去了啊。
@minggo @jare

iOS 平台的 websocket 不是引擎的原因,是 iOS 本身就说不能频发网络请求,具体可以查看 该 issue

Android 平台在 3.5 更新了 okhttp 版本,已经修复了,可以看 该 PR

引擎可否 提供sock 而非websock的选择呢?

感谢回复,项目已滚到2.X半个月了。
3.X的问题还要spine的高CPU,运存偏大,花屏等。耗不起了

1赞

spine 同屏还是卡!! 才 50个

不用50个,只要5个,CPU也是狂转
你对比下2.x就懂了