确定高处理器使用率的来源

时间:2012-11-12 16:37:02

标签: c# winforms .net-3.5 cpu-usage icq

我已将ICQ#库(它的开源)添加到我的应用程序中。但是如果我连接到ICQ服务器,它将增加CPU的使用率(高达30%)。因此,ICQ#库中的某些东西正在使用CPU。但我不知道如何确定它是什么并减少CPU的使用。

3 个答案:

答案 0 :(得分:2)

如果它是开源的并且您已将代码添加到项目中;用附带的分析器运行它。

答案 1 :(得分:0)

最简单的方法是:

  1. 在调试器中运行程序。
  2. 然后在某个时候进入调试器。
  3. 无论您身在何处,都要查看调用堆栈
  4. 重复步骤2-3
  5. 这样做两到三次就可以很好地了解大部分执行时间的花费。如果大部分执行时间都花在一个函数上,那么几乎每次进入调试器时,该函数都会出现在调用堆栈中。

答案 2 :(得分:0)

我在'icq_sharp \ IcqSharp.Util \ Timer.cs'文件中找到它。 见功能:private void DoWorker()。有一个没有延迟的循环。 只需添加Thread.Sleep(10);

即可