请问下,小弟我们写的程序应该怎么提高CPU利用率呢
请教下,我们写的程序应该如何提高CPU利用率呢?
问题是这样的:
我现在正在用C#做图像采集程序,在winform下在UI线程以外开启了两个线程:
线程1:负责实时将采集卡采到的图像在picturebox 中更新来达到实时显示功能
线程2:负责调用WindowsAPI实时将采集到的图像保存成AVI视频格式,希望达到80帧/秒的保存速率。
目前在线程1和线程2同时开启的情况下,线程2的执行速率达不到要求,无法打到80帧每秒的保存速度,而当线程1不开启,只开启线程2时,则线程2的执行效率是满足要求的。下面是两个线程都开启情况下的CPU利用率。

我的CPU是4核I7处理器,请问怎么做才能提高我程序的CPU利用率,从而满足实时显示和保存呢?
------解决方案--------------------
话说实时显示可以慢一些,只要人眼能接受就可以。
------解决方案--------------------
将线程2拆开。
------解决方案--------------------
我也觉得多线程应该能够提高一些利用率,线程这块本来就是分配cpu资源的。
问题是这样的:
我现在正在用C#做图像采集程序,在winform下在UI线程以外开启了两个线程:
线程1:负责实时将采集卡采到的图像在picturebox 中更新来达到实时显示功能
线程2:负责调用WindowsAPI实时将采集到的图像保存成AVI视频格式,希望达到80帧/秒的保存速率。
目前在线程1和线程2同时开启的情况下,线程2的执行速率达不到要求,无法打到80帧每秒的保存速度,而当线程1不开启,只开启线程2时,则线程2的执行效率是满足要求的。下面是两个线程都开启情况下的CPU利用率。
我的CPU是4核I7处理器,请问怎么做才能提高我程序的CPU利用率,从而满足实时显示和保存呢?
------解决方案--------------------
话说实时显示可以慢一些,只要人眼能接受就可以。
------解决方案--------------------
将线程2拆开。
------解决方案--------------------
我也觉得多线程应该能够提高一些利用率,线程这块本来就是分配cpu资源的。