使用定时器QTimer循环计时10ms,越计越久

快乐男孩xp 2023-02-28 10:42:37

大家帮忙分析一下谢谢:使用定时器每10ms去打印保存表格数据(表格存12h的数据),上位机运行初期很准确,但是到后面越运行计时时间越久。重启上位机初期也是很准确,后面也是越运行计时时间越久。

       后来的最新发现:打印表格时间从12h调小到1min,每一分钟自动生成一个新表格去打印保存数据,这样子就不会计时延长。请教一下大家,这是什么原因呢?

 

 

 

 

 

...全文
435 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
学笙 2023-03-02
  • 打赏
  • 举报
回复

根本原因是10ms保存不合理,正常操作需要有缓冲区,间隔10ms,向缓冲区插入数据,另外一个线程定时10秒或其他时间,取出数据做处理或保存

学笙 2023-03-02
  • 打赏
  • 举报
回复

10ms对于保存操作来说太短了,所以导致上一个槽没执行完,下一个就已经在排队了,你可以修改Qtimer为单次触发,再槽函数内尾部再次启动Qtimer

赵4老师 2023-02-28
  • 打赏
  • 举报
回复

提醒,WIndows Timer计时精度≈15ms

16,492

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧