【问题标题】:WinForms ElementHost slows down with repeated useWinForms ElementHost 因重复使用而变慢
【发布时间】:2011-04-21 19:18:29
【问题描述】:

我有一个场景,其中使用 WPF 作为无模式对话框的一部分大大优于替代方案。但是,我看到的是,每次我调出对话框时,它都会变慢一点,直到最终需要 20 秒才能调出对话框。

我使用 ANTS 对其进行了概要分析,在我的表单的 InitializeComponent 部分中,它基本上指向三个不同位置的 ElementHost:创建主机、设置背景颜色(我可以消除)和分配子项。

虽然这发生在与主 UI 线程不同的 UI 线程上(通过创建一个线程,将它的单元设置为 STA,然后在其中执行另一个 Application.Run(myform)),但它仍然会锁定主 GUI,因为它非常忙。

如果您终止应用程序并重新开始,问题就会消失,并且它会在一段时间内再次运行良好。代码的其他部分似乎没有变慢。

在 ElementHost 之后我可以做些什么来清理吗?

【问题讨论】:

    标签: wpf winforms elementhost


    【解决方案1】:

    我发现了什么,但没有发现为什么。

    我必须在处理表单时手动处理 ElementHost,否则 WPF 元素会完好无损。这些会随着时间的推移而累积并减慢速度。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-03-25
      • 1970-01-01
      • 2014-07-08
      • 2014-07-21
      • 1970-01-01
      • 2021-08-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多