从WPF应用程序显示WinForm对话框的性能问题

时间:2010-08-20 17:18:37

标签: c# .net wpf vb.net winforms

我目前正在开发一个将利用现有WinForm对话框的WPF应用程序。我在WinForm上调用ShowDialog()到显示它的时间之间经历了很长的延迟。

即使重用WinForm对话框对象,延迟时间几乎与第二次击中时差。这意味着问题不在构造函数中。

是否有人有办法提高速度或知道为什么速度如此之慢?

1 个答案:

答案 0 :(得分:1)

在我的机器上使用空白WPF应用程序和空窗体对话框进行快速测试表明最大延迟来自Win7执行的“打开窗口”动画。所以我认为WPF-Forms互操作中没有固有的性能问题。相反,我们可能错过了关于对话框的重要实现细节。

  • 您的对话在LoadFormShown事件中的作用是什么?也许你正在使用继承而且违规代码在层次结构中更进一步?
  • 您使用的是第三方组件套件吗?这些往往会在启动时进行相当多的初始化。

您最好的选择可能是使用分析器找出实际花费的时间。