Проблемы с производительностью при отображении диалогового окна WinForm из приложения WPF - PullRequest
3 голосов
/ 20 августа 2010

В настоящее время я разрабатываю приложение WPF, которое будет использовать существующие диалоги WinForm.Я испытываю большое отставание от времени, когда я вызываю ShowDialog() для WinForm, до времени, когда оно отображается.

Даже при повторном использовании объектов диалога WinForm время задержки почти такое же плохое для второго нажатия.Это означает, что проблема не в конструкторе.

У кого-нибудь есть способ увеличить скорость или знать, почему скорость такая низкая?

1 Ответ

1 голос
/ 30 августа 2010

Быстрый тест с пустым приложением WPF и пустым диалоговым окном форм на моем компьютере показывает, что наибольшая задержка связана с анимацией «открытого окна», которую выполняет Win7. Поэтому я считаю, что при взаимодействии с WPF-Forms нет проблем с производительностью. Скорее всего, нам не хватает важных деталей реализации вашего диалога.

  • Что делает ваш диалог в событиях Load и FormShown? Может быть, вы используете наследование, а нарушающий код находится ниже по иерархии?
  • Вы используете сторонний комплект компонентов? Они, как правило, выполняют небольшую инициализацию при запуске.

Лучше всего использовать профилировщик, чтобы узнать, где на самом деле тратится время.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...