QCoreApplication cpu占用高

QCoreApplication cpu占用高,第1张

cpu占用率较高的原因可能有以下几点:

1、在paintEvent中调用update函数,造成无限循环。

2、频繁刷新数据。

3、复杂的浮点运算。

4、死循环。

5、paintEvent里 *** 作太多。

遇到这个问题的程序是利用多个子线程(接收子线程)同时接收并解析网口的数据,同时另外一个子线程冲尘(融合子线程)对多个子线程解析得到的数据进行融合处理,接收子线程和融合子线程之间通过Qt的信号-槽机制码耐进行数据交互。通过分析发现,各子线程运行之后均处于死循环状态,即使此时没有待接收/处理的数据,线程也会处于“空转迟判春”状态,由此导致了CPU的过分占用。

这个是比较麻烦的事情。

一般出现CPU占用率高,是由于程序的某些地方不合理裤御,造成了CPU资源的大量占激前用。

解决的方胡铅岩法就是细心的,一段段程序进行分段封闭测试。把问题逐步定位,最后解决。

对于减少CPU占用,除了完善程序设计本身,还有一点很重要的,就是不要所有功能都写在一起,搞得一个程序很大很大作qws,那么CPU吃不消,有个技巧就是拆分,尤其作qws的程序不能很大。

------解决方案--------------------------------------------------------

------解决方案--------------------------------------------------------

做超级复杂的浮点运算 还友梁是死循环 还是paintEvent里做太多 *** 作了

------解决方案--------------------------------------------------------

你需要频蚂或繁刷新数据,对cpu时间片占有还是比好物运较高的

------解决方案--------------------------------------------------------

你应该先检测一下程序里面是那一部分消耗的CPU太大了,如果在Linux上可以用比如callgrind检测

如果是GUI刷新的开销过大,可以考虑用GPU做GUI部分

------解决方案--------------------------------------------------------

0.1s 刷新是不是太快了。慢一点看看。感觉像是有死循环一样CPU占用太高。

------解决方案--------------------------------------------------------


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12439079.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存