我正面临一个棘手的问题,我希望你们能够提供帮助!
我正在处理的应用程序在其生命周期的某个时刻变慢,我怀疑它与传入的事件有关。
为了澄清这种行为并知道它是否是我梦魇的实际来源,我想跟踪事件堆栈的大小。
那么你们知道一种方法可以知道排队的事件有多少,等待我的应用程序的事件处理程序处理吗?
是否可以更改此值?我的问题有意义吗?
提前致谢!
答案 0 :(得分:2)
我知道这不是您问题的直接答案,但我通常会在分析软件的帮助下进行性能调整。对于.NET,我可以推荐jetbrains dotTrace,但我相信你会在SO question中找到一个。{/ p>
答案 1 :(得分:1)
这可能取决于您正在处理的事件类型。我想winform环境中的事件有很大的开销,但这可能不是问题。
另一个设置是简单地让所有事件“发布”一个工作项到一个列表中,让'worker'线程清空工作列表。这使您可以查看工作项列表,并为您提供一些优化代码的控制/指示。