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