问题遇到的现象和发生背景
Win10系统,python编程,进行双摄像头采集识别,用到了opencv,由于opencv不支持多进程编程,故而用多线程方式。
程序刚启动时速度很快,但随着时间的推移,几分钟后程序变得很慢,帧率从10+掉到1帧以下,其间没有其他操作,也没有其他软件干扰。
打开Windows资源监视器发现,CPU使用率从最开始的60%降低到最后的不到20%,下降明显。但连续监控发现CPU温度并没有超标,最高只有65度左右。
尝试解决方法:
1 更改Win10的设置为“高性能”,无效
2 ThrottleStop对CPU操作,可以锁频,但无法抑制CPU使用率下降
所以有2个问题:
1 CPU使用率从60降到20%,按理说性能只会降低到1/3,也就是说应该还会有3帧以上的帧率,但实际只有1帧不到,性能下降为1/10,为啥会这样?
2 问题1的原因,初步分析是Win10的任务调度机制导致的,如何破?