参考:

cocos论坛-2.4.2 CPU占用率大幅度增加,发热耗电严重很多

 

这个问题在2.4.7修复,所以2.4.7之前的版本需要修改源码。

这个修改在我们自己项目里也用到。

就是要将

lws_service(__wsContext, 4);
改成
lws_service(__wsContext, 2);
std::this_thread::sleep_for(std::chrono::milliseconds(3));

 

2.4.4版本:

 

2.4.10版本:

 

 

英文注释机翻:

//传递给“lws_service”的第二个参数表示轮询websocket事件时的超时(毫秒)。

//值越低越好,否则可能会触发高CPU使用率。

//我们在“lws_service”中设置2ms,然后休眠3ms以降低CPU成本。

//由于消息在websocket线程中接收,而用户代码在cocos线程中,我们需要将事件发布到

//cocos线程并通过“调度程序::performFunctionInCocosThread”触发用户回调。如果设置了游戏的fps

//到60(16.66ms),延迟将为(2ms+3ms+16.66毫秒+互联网延迟)>21ms

 

 

 

posted on 2022-09-13 10:48  gamedaybyday  阅读(716)  评论(0编辑  收藏  举报