ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

【问题】websocket导致cpu占用率高,发热耗电

2022-09-13 11:04:11  阅读:300  来源: 互联网

标签:cocos websocket service lws CPU 线程 占用率 cpu 2.4


参考:

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

 

这个问题在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

 

 

 

搜索

复制

标签:cocos,websocket,service,lws,CPU,线程,占用率,cpu,2.4
来源: https://www.cnblogs.com/gamedaybyday/p/16688430.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有