提高Qt开发软件运算性能提升

编译器minGW32,release版本,大部分操作在线程循环里面更容易体现出来

1、网上有说opencv像素处理使用直接获取Mat对象的像素块的数据指针,例如

for (int row = 0; row < h; row++) {

uchar* uc_pixel = image.data + row * image.step;

for (int col = 0; col < w; col++) {

uc_pixelcol = 255 - uc_pixelcol;

}

和直接像素操作

image.at<uchar>(i,j) = xx; 我发现差异不大;

我还是选择了第二种方法

在Mat赋值操作最好不要使用clone()

2、使用QString::Number()和**QString("%1").arg(xx)**这两种转换方式,我发现第二种效果比较好;

3、两种延时操作,都可以有效防止UI卡顿

Qt中关于一种网上流传延时方法Bug说明_c# tomsecssinceepoch_莫听穿林打叶声儿的博客-CSDN博客

连接面提供两种延时方法,最下面一种明显比第一种要高效;

4、关于串口,网口的数据高速通讯操作

有人喜欢使用Qt信号槽接收数据,我个人很不喜欢,我更喜欢使用单独线程去主动读取串口或网口数据,这样也做到后台数据和前台更新的数据分离,比如下面连接中就是使用线程主动读取串口数据案例;

艾德堡HP-100推拉力计,Qt串口、曲线经典应用(开源)_艾德堡数显拉力机软件-CSDN博客

5、如果有更高效的方法请在评论区留言......

相关推荐
Quz4 小时前
QML 常见的四种导航布局
qt
江湖人称菠萝包6 小时前
【Qt】《Qt 5.9 C++开发指南》笔记-Chapter2-GUI应用程序设计基础
笔记·qt·qt5
重生的黑客7 小时前
Qt 常用控件精讲(1):QWidget 核心属性全解 —— 从 geometry 到 qrc 与 QSS
c++·qt·qwidget·qss·常用控件
江湖人称菠萝包7 小时前
【Qt】《Qt 5.9 C++开发指南》笔记-Chapter1-认识Qt
笔记·qt·qt5
爱喝水的鱼丶10 小时前
SAP-ABAP:MM 模块库存管理开发:出入库增强、批次管理与库存盘点功能开发
性能优化·sap·abap·增强·开发运维·经验交流·mm模块
AI服务老曹11 小时前
告警回调不是配上就能跑:性能优化里的关键参数(视频分析接入飞书告警实践)
性能优化·ai视频分析告警接口·告警回调
Quz1 天前
QML StackView:实现卡片堆叠效果
qt
Quz1 天前
QML Drawer 抽屉导航详解
qt
Cx330❀1 天前
【Linux网络】网络层 IP 协议:从网段划分到内核源码解析
大数据·linux·服务器·网络·tcp/ip·性能优化·langchain
yume_sibai1 天前
12-Rust 性能优化指南(性能分析 + 内存优化 + SIMD + 并发优化 + 编译器优化 + 基准测试)
开发语言·性能优化·rust