在我的工作中,我使用DotTrace分析了WPF桌面应用程序中的缓慢现象之一。 我之前曾用它来完成此操作,得出的结论是,数据库调用缓慢的地方,然后我们可以找到解决方案。
但是,这一次,我在本机代码中看到了执行时间的75%,而在用户代码中却没有明显的慢点。 我搜寻了一些人,发现其他人也有同样的问题。 答案是正常的(以前的快照在用户代码中也只占执行时间的一小部分,所以似乎还可以),或者如果在制作快照时选中“收集本机分配”框,则可以对其进行进一步分析。 (很遗憾,我没有检查)。
如果仅检查用户代码,则大部分执行时间都位于第三方UI组件DevExpress DLL中。然后您能否说这正在朝着与硬件相关的缓慢发展(请参见下面快照的“用户代码”部分)?
我使用“时间轴”选项来创建快照。
我的问题:
在此先感谢您的帮助!
塞巴斯蒂安
快照的答案 0 :(得分:0)
本机部分始终由托管代码调用。
在这种情况下,时间轴效率不高。在这里,您仅过滤了本机部分。
对于这种分析,我建议使用“采样”模式,在此可以更好地查看热点。本机部分仍然存在,但是您可以看到哪个托管代码调用了它。