• 2061阅读
  • 9回复

[提问]am335x系列开发板长期频繁刷新数据,过一段时间后卡顿 [复制链接]

上一主题 下一主题
离线hys0823
 

只看楼主 倒序阅读 楼主  发表于: 2020-08-03
QT需要频繁刷新一组数据,刚开始CPU占用率处于正常状态。长时间 刷新过一段时间后,CPU占用率突然飙升到八九十,甚至更高,会导致点击事件响应慢,界面刷新响应慢。一旦停止刷新,放置2-3分钟后,恢复正常。这是怎么回事呢?

用终端监控内存状况,一段时间后内存基本没变化。

QT库用的是5.9.5版本,程序刷新 间隔为100ms。
开发板用的是am3352和54的都有。
离线liudianwu

只看该作者 1楼 发表于: 2020-08-03
代码问题
欢迎关注微信公众号:Qt实战 (各种开源作品、经验整理、项目实战技巧,专注Qt/C++软件开发,视频监控、物联网、工业控制、嵌入式软件、国产化系统应用软件开发)QQ:517216493  WX:feiyangqingyun  QQ群:751439350
离线nigoole

只看该作者 2楼 发表于: 2020-08-03
我个人感觉也是和板子没关系!~335X我也用过几块开发板,都没出现过这种情况!~
有句话说得好:好好学习,天天向上。加油~~!有上船的朋友联系企鹅393320854
离线hys0823

只看该作者 3楼 发表于: 2020-08-03
回 liudianwu 的帖子
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改变其数值的

离线hys0823

只看该作者 4楼 发表于: 2020-08-03
回 nigoole 的帖子
nigoole:我个人感觉也是和板子没关系!~335X我也用过几块开发板,都没出现过这种情况!~ (2020-08-03 16:10) 

详细在3楼
离线uidab

只看该作者 5楼 发表于: 2020-08-03
回 hys0823 的帖子
hys0823:我把频繁刷新的代码注释了,就能跑两到三天。
频繁刷新的代码定时器间隔为100ms,都是一些对QTableWidget中的item进行settext和修改背景颜色的操作。怎么就出问题了呢
例子:
ui->CoordinatetableWidget->item(0,5)->setBackgroundColor(SeriousWarn);
....... (2020-08-03 16:13) 

真有必要100ms吗?改成1秒试试。
有时候为了工作直接获得答案,而我却失去了思考的乐趣!


飘啊飘,何时能安居!
离线hys0823

只看该作者 6楼 发表于: 2020-08-03
回 uidab 的帖子
uidab:真有必要100ms吗?改成1秒试试。 (2020-08-03 16:26) 

我改成300ms刷新一次,这样确实相比于100ms能延长不少时间,不过还是会出现卡顿,响应慢。还有这样达不到需求,我需要接近实时的看到数据。
离线liudianwu

只看该作者 7楼 发表于: 2020-08-04
间隔改成1秒试试
欢迎关注微信公众号:Qt实战 (各种开源作品、经验整理、项目实战技巧,专注Qt/C++软件开发,视频监控、物联网、工业控制、嵌入式软件、国产化系统应用软件开发)QQ:517216493  WX:feiyangqingyun  QQ群:751439350
离线hys0823

只看该作者 8楼 发表于: 2020-08-04
回 liudianwu 的帖子
liudianwu:间隔改成1秒试试 (2020-08-04 08:24) 

间隔改成1s后还是会卡顿,不同的是时间长了些。还有其他办法不?
离线netman_006

只看该作者 9楼 发表于: 2021-04-02
不要频繁的刷背景
快速回复
限100 字节
 
上一个 下一个