ios websocket电量占用太高【已查明为IOS本身问题】

版本2.4.8

ios的websocket有问题,当每秒30帧接收消息时,iphonex发热太严重了。


当websocket打开时,overhead会直接升高,network也蹭蹭的升高,关掉websocket这两个会直接近于0.
那合着如果打开websocket且每秒 发送/接收 30次,平均不过100B大小的情况下,
网络交互用的电量消耗比CPU加显示屏消耗的电量都要多?
????????????这不对啊这个

@jare @panda

1赞


同样场景下,动态开启websocket,电量变化

有没有一种可能 安卓也是单核占满了:)

做原生的太不容易了

试试其他引擎的websocket,应该和ccc无关。

我用3.x,安卓一样CPU,发热
原生的哭晕在厕所
官方人员也不管的

不是不管,估计是没能力~,掌嘴,我竟然说出了大实话

认真看完截图,感觉不合理难道ccc在iOS用了什么有已知bug的websocket lib?如果该lib独自跑这个流速不会有发热问题的话,那是jsb和C++通讯高频时耗电咯?

这么说来CCC其实不适合做帧同步, 不是技术的问题, 而是引擎在网络通讯上消耗太高

1赞

为啥不可以?用个充电宝不就好了吗?

你不如建议玩家搬到离水电站近的地方

:joy:本来ccc就只适合做h5 要真做原生 根本没理由用ccc来做。选择问题吧

看看这个 2.4.2 CPU占用率大幅度增加,发热耗电严重很多

3.3 不是修复了吗?

应该不是同一个问题,我们会跟进处理一下

但我实际测试是

中间一段是主动关闭websocket。
关闭后cpu占用5-6%,打开websocket17-18%(打开后,没发送,接收啥消息,就只有心跳包)

直接3倍开销。

测试版本3.3.2

看了官方用的libwebsocket.h是2.4.2版本。
当前最新都到4.3版本了。
是不是c库有什么bug

因为android平台上兼容性问题我们没有做版本升级, 实际上有过尝试.

你测试是只测native库(完全无js调用)还是依然从js调用及接收回调?

我从JS调用和接收引擎的
这有什么不一样

安卓已经修复了,将在 3.5 发布 https://github.com/cocos/cocos-engine/pull/10384
iOS 仍在跟进中,目前单独测试 SocketRocket 和 libwebsocket,跑 FB 的官方 demo 都有这个问题。我们会持续跟进。