У нас есть очень сложное программное обеспечение, в основном написанное с использованием .NET WinForms на C #. Многие люди внесли в это свой вклад. Одним из таких вкладов было добавление Windows Presentation Foundation (WPF)
< / a> элемент управления, размещенный в Win Forms. Указанный элемент управления считается обычным и используется во многих местах приложения.
Все работало нормально до тех пор, пока несколько дней назад мы не начали замечать чрезмерную задержку запуска приложения. Раньше приложение запускалось менее чем за 5 минут, но теперь запускается за 20 минут.
Мы анализировали ситуацию, но нам было очень трудно определить реальную проблему. Мы видели, что наш некорректный общий элемент управления, который используется в нескольких местах, в конечном итоге вызывает следующие функции фреймворка:
Время, затрачиваемое функциями системы на выполнение своих обязанностей, показано на рисунке выше. Каждый раз, когда инициализируется общий элемент управления, выполнение системных функций занимает около 1,5 минут. В нашем приложении мы используем общий элемент управления не менее 8 раз. Итак, всего 12 минут.
Кто-нибудь еще видел такие проблемы с элементами управления WPF, размещенными на WinForms? Любая помощь будет оценена.
РЕДАКТИРОВАТЬ:
Возникла проблема со словарем C #, который мы используем. Избавление от него с помощью List ‹> решает проблему задержки. Microsoft воспроизвела проблему в их конце. Они над этим работают. Может быть, наше приложение довело словарь C # до крайности;)
Спасибо всем за ваш вклад.