标题:am335x系列开发板长期频繁刷新数据,过一段时间后卡顿
作者:hys0823
日期:2020-08-03 11:36
内容:
QT需要频繁刷新一组数据,刚开始CPU占用率处于正常状态。长时间 刷新过一段时间后,CPU占用率突然飙升到八九十,甚至更高,会导致点击事件响应慢,界面刷新响应慢。一旦停止刷新,放置2-3分钟后,恢复正常。这是怎么回事呢?
用终端监控内存状况,一段时间后内存基本没变化。
QT库用的是5.9.5版本,程序刷新 间隔为100ms。
开发板用的是am3352和54的都有。
#1 [liudianwu 08-03 15:13]
代码问题
#2 [nigoole 08-03 16:10]
我个人感觉也是和板子没关系!~335X我也用过几块开发板,都没出现过这种情况!~
#3 回 liudianwu 的帖子 [hys0823 08-03 16:13]
liudianwu:代码问题 (2020-08-03 15:13)
我把频繁刷新的代码注释了,就能跑两到三天。
频繁刷新的代码定时器间隔为100ms,都是一些对QTableWidget中的item进行settext和修改背景颜色的操作。怎么就出问题了呢
例子:
ui->CoordinatetableWidget->item(0,5)->setBackgroundColor(SeriousWarn);
ui->CoordinatetableWidget->item(0,5)->setText(QString("%1").number(RecvUsualData.stCartAct.X,'f',DOUBLEROUND));
RecvUsualData为全局结构体变量,是通过TCP socket改变其数值的
#4 回 nigoole 的帖子 [hys0823 08-03 16:14]
nigoole:我个人感觉也是和板子没关系!~335X我也用过几块开发板,都没出现过这种情况!~ (2020-08-03 16:10)
详细在3楼
#5 回 hys0823 的帖子 [uidab 08-03 16:26]
hys0823:我把频繁刷新的代码注释了,就能跑两到三天。
频繁刷新的代码定时器间隔为100ms,都是一些对QTableWidget中的item进行settext和修改背景颜色的操作。怎么就出问题了呢
例子:
ui->CoordinatetableWidget->item(0,5)->setBackgroundColor(SeriousWarn);
....... (2020-08-03 16:13)
真有必要100ms吗?改成1秒试试。