找回密码
 立即注册

QT 运行久了会卡

查看数: 24538 | 评论数: 7 | 收藏 1
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2018-1-13 22:48

正文摘要:

如题,我用qt编写了一个上位机运行在工控机上面。除了QT自己的库还调用外部库及源码,例如QWT绘制曲线,serial源码调用串口类打开串口,xlsx外部库调用接口在Linux下创建和显示excel表格。存储数据用mysql数据库。 ...

回复

椰壳里的海 发表于 2021-5-21 06:32:25
大侠,你好!我也制作了一个曲线控件,解决了高速实时大容量曲线卡顿问题,你可以百度 '陕西思润菲咪软件科技有限公司'我的网站,下载演示示例。
zhanggaox03 发表于 2018-3-29 23:54:03
个人意见请参考,两个地方都可能有问题:
1.QWT不断添加点可能造成内存不断占用;
2.qtableWidgetItem的不断增加会造成卡顿,在Qt4.8的VXworks版本遇到过。解决方法很粗暴,给定一个item限额,超过后删除最顶部的item。
angelus 发表于 2018-1-17 21:22:01
降下来说明内存没有问题,检查下cpu负载吧
gzf111 发表于 2018-1-17 13:15:07
angelus 发表于 2018-1-16 09:22
先检查你有没有程序会多次调用new去生成实例
在检查下卡顿的时候是cpu负载高,还是内存负载高.
理论上卡顿是 ...

基本上所有的实例都是在构造函数里生成的,除了图片的那两个,一个是定时器里一个是点击按钮时。其中QTablewidget的那个如果delete,表格就不显示数据了。查了好多,有人说是QTablewidget内部有机制会处理。。。
运行久了free -m查看,使用的内存会越来越多,但是涨到一定时候就又降下来了。
硬件的话,这款工控机还配置了128的固态硬盘,应该不算差的。
wangjl 发表于 2018-1-16 13:01:59
先检查你有没有程序会多次调用new去生成实例
在检查下卡顿的时候是cpu负载高,还是内存负载高.
理论上卡顿是cpu引起的,如果是内存溢出,程序会直接就挂了.
还有一个就是检查你的硬件.
angelus 发表于 2018-1-16 09:22:55
本帖最后由 angelus 于 2018-1-16 09:24 编辑

先检查你有没有程序会多次调用new去生成实例
在检查下卡顿的时候是cpu负载高,还是内存负载高.
理论上卡顿是cpu引起的,如果是内存溢出,程序会直接就挂了.
还有一个就是检查你的硬件.
gzf111 发表于 2018-1-15 09:02:01
没有大神给分析一波么

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了