限制第三库的CPU使用率

时间:2018-08-24 06:06:44

标签: c# dll cpu cpu-usage cpu-cores

在一个项目中,我使用对图像进行一些计算的库。一切都很好,但是由于他们发布了该库的新版本,因此工作效果更好(更好的结果),它在计算100%CPU时使用。计算平均大约需要55毫秒,我真的不需要那么快。

问题是CPU使用率,导致整个PC滞后,并且GUI响应速度很差。

我发现我只能将操作限制在一个CPU内核上。我刚刚通过任务管理器和关联性设置在整个应用程序中对其进行了测试,PC很好,而计算结果仍然非常快-180ms。

这是正确的解决方案吗?如果是这样,我应该怎么做: 创建另一个进程,该进程将调用该库并将仅单个进程限制为一个CPU内核? 还是可能只限制一个线程及其子线程?

谢谢。

1 个答案:

答案 0 :(得分:0)

您的问题似乎是gui挂起。正确的处理方法通常是让长操作在单独的线程中运行,然后异步更新结果。这样,gui可以保持响应,而另一个核心可以计算事物