Qt C++ 在windows上三目运算不断增加内存

今天在做摄像头项目的时候,运行程序很卡

打开任务管理器发现程序内存一直在增加

函数内部无任何的 new 和 malloc操作

最后在nv12转rgb像素转换函数发现是因为三目运算导致内存不断增长

cpp 复制代码
r = r > 255 ? 255 : (r < 0 ? 0 : r);
g = g > 255 ? 255 : (g < 0 ? 0 : g);
b = b > 255 ? 255 : (b < 0 ? 0 : b);

最后替换了if

解决了这个问题

cpp 复制代码
if (r > 255) r = 255; if (r < 0) r = 0;
if (g > 255) g = 255; if (g < 0) g = 0;
if (b > 255) b = 255; if (b < 0) b = 0;

由于平时测试的摄像头分辨率都比较低,所以这个问题不太突出

今天换了个高分辨率的镜头才出现了这个问题

找了很久才定位到三目运算的问题

所以记录一下此问题

相关推荐
2501_930707784 小时前
使用C#代码在 PowerPoint 中组合或取消组合形状
开发语言·c#
晚烛4 小时前
CANN 调试工具与性能剖析:从日志分析到 NPU 行为追踪的完整调试体系
开发语言·windows·python·深度学习·缓存
惊鸿一博5 小时前
图标加载方式_zeroIcon_是否加前缀mdi
开发语言·前端·javascript
森G5 小时前
TypeScript 基础类型
开发语言·typescript
小poop5 小时前
string 类从入门到深入
c++
huipeng9266 小时前
企业级微服务开发实战(一):项目启动与工程化设计
java·开发语言·spring boot·spring cloud·微服务·云原生·架构
爱吃土豆的马铃薯ㅤㅤㅤㅤㅤㅤㅤㅤㅤ6 小时前
java实现excel导入、下载模板方法
java·开发语言·excel
眠りたいです6 小时前
现代C++:C++14中的新语言特性和库特性
c语言·开发语言·c++
叶小鸡7 小时前
Java 篇-项目实战-AI 天机学堂(从 0 到 1)-day1
java·开发语言
浅念-7 小时前
LeetCode 回溯算法题——综合练习
数据结构·c++·算法·leetcode·职场和发展·深度优先·dfs