提高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、如果有更高效的方法请在评论区留言......

相关推荐
ShineWinsu3 小时前
对于Qt:QPushButton常见属性的解析
开发语言·c++·qt·api·gui·按钮·qpushbutton
飞浪纪元[FWC–FE]3 小时前
Qt 工程创建与 CMake / qmake 构建规范
开发语言·数据库·qt
Lhan.zzZ3 小时前
用 Qt 构建线程安全的通讯静态库:从线程亲和性到完整工程
c++·vscode·qt·tcp/ip·udp
Sayai3 小时前
Flink 日志解析任务性能优化实战:正则/Grok 预编译、Guava 缓存权重陷阱与 ES 写入隔离
java·大数据·性能优化·flink·实时计算
飞浪纪元[FWC–FE]4 小时前
Qt 构建排错实录:从 MSB 1009 到生成器选型
开发语言·数据库·qt
raindayinrain13 小时前
c++高性能--原子操作,无锁编程,操作顺序
开发语言·c++·性能优化
小徐不徐说14 小时前
C++ 接口与插件设计:从工厂注册到 Qt 动态插件
数据库·c++·qt·系统架构·程序设计
小王C语言15 小时前
Qt常用控件:容器类控件,标题分组框、标签页(浏览器标签)
开发语言·qt
TMedical15 小时前
MedPlanning 截骨模拟矫形功能
c++·图像处理·人工智能·qt·健康医疗
chari克里18 小时前
QT5.15.2 + msvc2022部署全流程说明(windows可联网环境)
开发语言·c++·qt