一、场景

一个网络音频采集场景如下:

数据发送端:嵌入式设备按照16kHz 16Bit连续不断采集音频数据,通过Socket进行发送

数据接受端:QT上位机开一个tcpserver,数据readReady后由QByteArray进行追加,音频波形显示开了一个定时器,每100ms去取QByteArray指定长度(16K*0.1*2),并remove该数据。

打印结果发现,QByteArray的数据越来越多,说明接受数据和取数据的速度没匹配。

日志:

二、分析

数据发送端是用的实时系统,音频采集的数据发送频率不会出现问题,那应该是QT上位机定时器的精度不到,定时器出现误差才会出现FIFO不断增长。

经过了解,QTimer的精度确实不太够,默认构造为Qt::CoarseTimer,粗略定时精度在正负5%。另一方面,windows不是实时系统,时间片轮转调度也会导致定时器的误差。

提高QTimer的精度,可以使用setTimerType(Qt::PreciseTimer),性能会好些。

Qt定时器的精度问题相关推荐

  1. Qt定时器QBasicTimer、startTimer、QTimer使用总结

    QBasicTimer 这个定时器类是一个 轻量级的.较底层的.被Qt内部使用的定时器类.如果在你的应用程序中使用定时器类,推荐使用QTimer类,而不是这个类.该类和QTimer类类似,也提供sta ...

  2. 使用QT定时器遇到的问题

    问题描述: 程序上有槽函数触发频率变化的需求.在使用Qt定时器触发槽函数的过程中发现,每秒钟1000次没有问题,在每秒钟30~50次的情况下出现了延迟. 主体代码如下: std::chrono::ti ...

  3. QT 定时器与动画实现

    前言 Qt提供图形视图框架(Graphics View Framework).动画框架(The Animation Framework)和状态机框架(The State Machine Framewo ...

  4. qt 定时器_Qt开源作品23-颜色拾取器

    ## 一.前言 在做很多项目的UI界面的时候,相信绝大部分人都有过抄袭别人的UI界面尤其是颜色的时候,毕竟十个程序员九个没有审美,或者说审美跟一坨屎一样,大家主要的精力以及擅长点都是在写功能实现具体功 ...

  5. 二、Qt定时器与文本编辑器制作《QT 入门到实战》

    学习目标 了解 qt 的 pixmap 了解 qt 的 label 如何显示图片 了解定时器的开启 了解定时器的关闭 了解文件如何进行读取 了解 QFileDialog 的使用 了解了一个文本编辑器的 ...

  6. QT定时器QTimer

    在Qt中使用定时器有两种方法,一种是使用QObiect类的定时器:一种是使用QTimer类.定时器的精确性依赖于操作系统和硬件,大多数平台支持20ms的精确度. 1.QObject类的定时器 QObj ...

  7. QT 定时器使用事项

    情景 有一种特殊情况,一旦窗口系统事件队列中的所有事件都已经被处理完,一个定时为0的QTimer就会到时间了.这也可以用来当提供迅速的用户界面时来做比较繁重的工作.(优点) QT app启动后不做任何 ...

  8. 使用QT定时器 隐藏 label

    widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QTimer> // 定时器对象Q ...

  9. qt定时器是阻塞的吗_吊打面试官 | 面试官:TCP真的可靠吗

    点击蓝字关注我哦 以下是本期干货视频视频后还附有文字版本哦 ▼<面试官:TCP真的可靠吗>▼ ps:请在WiFi环境下打开,如果有钱任性请随意 TCP真的可靠吗 面试官经常会问的一个问题是 ...

最新文章

  1. matplotlib 标签_为折线图添加数据标签的方法,附代码
  2. Android JetPack ViewModel 源码解析
  3. 4-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案安全篇(为域名申请SSl证书)
  4. learnByWork
  5. SAP 生产订单结算
  6. 剑指offer之斐波那契问题(C++/Java双重实现)
  7. 三角网导线平差实例_网平差三角网三边导线网.doc
  8. C# 虚方法(virtual)覆盖(override) - 隐藏(new) - 重载
  9. 从苹果 M1 到英伟达 Grace,“缝合风”为何在芯片大厂中盛行?
  10. 登陆模块防止恶意用户SQL注入攻击
  11. 学士后java单元项目答案_北大青鸟学士后java工程师第二单元项目源代码
  12. Unity UGUI 屏幕适配
  13. matlab 图案 柱状图_科学网—使用matlab绘画柱状图,且使用不同的图案填充 - 时杰的博文...
  14. 端口扫描工具masscan常用方法和参数
  15. 手把手教你配置阿里云服务器搭建网站
  16. C++的O2、O3到底是个什么鬼
  17. 恒虚警率(Constant False Alarm Rate)检测
  18. python代码转换成EXE文件之pyinstaller使用教程
  19. [IMX6Q][Android5.1]移植笔记 --- Kernel启动无法挂载文件系统
  20. 小伙的java之旅(4)

热门文章

  1. 计算平面坐标某点(x,y)与原点(0,0)的角度
  2. new关键字对类成员的阻断
  3. 在国外千万不要以为别人都听不懂中文
  4. 计算机网络选择重传,计算机网络选择重传协议实验报告..docx
  5. ik分词和jieba分词哪个好_Pubseg:一种单双字串的BiLSTM中文分词工具
  6. linux程序已经在后台运行冻结了_如何使程序在Linux后台运行
  7. android格式化时间中文版,Android 仿微信聊天时间格式化显示功能
  8. slf4j的简单用法以及与log4j的区别
  9. 删除列表中满足一定条件的元素
  10. [react] React16新特性有哪些?