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

相关推荐
程与留2 小时前
07_QMainWindow 与应用程序框架——菜单栏、工具栏、状态栏
c++·qt
总有刁民想爱朕ha3 小时前
Python PyQt5图片批量转MP4视频工具:本地离线免费无水印,完整代码
开发语言·python·qt
NutShell Wang4 小时前
Firecrawl anydoc 实战拆解:用一个 Rust 依赖吃下 14 种文档格式
性能优化·rust·vibe coding
十五年专注C++开发6 小时前
100w条数据丝滑滚动!Qt Model/View 架构实战(二)
开发语言·c++·qt
skr爱码士6 小时前
06_Qt 常用数据类型与容器:QString、QList、QVector、QMap 的性能与实现分析
开发语言·c++·qt
raindayinrain6 小时前
深入理解linux内核--文件页高速缓存,页框回收,性能优化
linux·性能优化·高速缓存·页框
Jay Kay8 小时前
BAGEL 训练性能优化报告
性能优化
_ZHOURUI_H_9 小时前
不做完整 ECS,只优化数据布局:Unity EasyECS 到底是什么
unity·性能优化·游戏引擎
虫小宝20 小时前
优惠券省钱APP查询性能优化:Elasticsearch与Canal实现的多维度商品搜索毫秒级响应方案
elasticsearch·性能优化·jenkins
程与留1 天前
06_Qt 常用数据类型与容器:QString、QList、QVector、QMap 的性能与实现分析
数据结构·qt