4

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

4

3 回答 3

2

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

于 2012-11-12T16:48:31.450 回答
0

最简单的方法是这样的:

  1. 在调试器中运行您的程序。
  2. 并在某个时候闯入调试器。
  3. 无论您身在何处,都可以查看调用堆栈
  4. 重复步骤 2-3

只做两到三遍就可以很好地了解大部分执行时间都花在了哪里。如果大部分执行时间都花在一个函数上,那么几乎每次您闯入调试器时,该函数都会在调用堆栈上。

于 2012-11-12T17:58:37.387 回答
0

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

于 2013-10-22T12:15:38.107 回答