提高软件CPU占用率 您所在的位置:网站首页 提高处理器的软件 提高软件CPU占用率

提高软件CPU占用率

2024-07-16 22:44| 来源: 网络整理| 查看: 265

案例:

独立线程以5ms一包的速率接收指令(一共大概70-80种指令类型),并放入一个队列A

主线程中,根据定时器去队列A中取数据,并解析/计算/显示(速率:200包/秒)

现象:按理说这个收/发的频率是能保持平衡的,也就是收多少就处理多少,延迟会很小(可能就是一个指令的传输时间),但是实际现象是,随着时间的推移,队列A越来越大。

发现:调试的时候发现是处理数据的时候,判断数据包类型,并进行解析模块比较费时间(注释掉这块内容就不存在延迟了)。因此排除了代码本身的问题;

代码没问题,那就只能从设备方下手

解决方案:提高软件的优先级,让CPU优先处理我这个软件的计算处理

//REALTIME_PRIORITY_CLASS 实时 //HIGH_PRIORITY_CLASS 高 //ABOVE_NORMAL_PRIORITY_CLASS 高于正常 //NORMAL_PRIORITY_CLASS 正常 //BELOW_NORMAL_PRIORITY_CLASS 低于正常 //IDLE_PRIORITY_CLASS 空闲 GetCurrentProcess():当前软件进程 int main(int argc, char *argv[]) { SetPriorityClass(GetCurrentProcess(), REALTIME_PRIORITY_CLASS ); }

查看进程的当前CPU优先级:

任务管理器-鼠标右键(软件进程)-转到详细详细-鼠标右键(软件进程)-设置进程优先级

 然后,你启动软件的时候就会发现,应用程序优先级,由默认的正常,改成了你需要的!



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有