WPF: медленное создание шаблона

У меня есть приложение WPF, и оно медленное.

Это НЕ рендеринг. Во-первых, рендеринг довольно простой, а во-вторых, я смотрел на него с помощью WPF Performance Toolkit - ничего.

Это НЕ в моем собственном коде. Во-первых, юнит-тесты работают быстро, во-вторых, если я заменю все шаблоны данных пустыми, все будет работать быстро.

Пока что, похоже, что медленной частью является создание экземпляра шаблона . То есть, когда вы запускаете приложение и открываете какой-то сложный экран, это занимает много времени. И под « много » я имею в виду « много ». Иногда может достигать 3-5 секунд - например, если есть сетка данных со 100 строками. Но когда вы переходите на другую вкладку, а затем возвращаетесь на тот же экран, он открывается быстро (пока его модель просмотра остается на месте).

Это очень раздражает не только потому, что он медленный, но и потому, что я не могу этого сделать. что-нибудь об этом. Если бы у меня был контроль над медлительностью, я мог бы, возможно, отобразить какое-нибудь сообщение « открытие, пожалуйста, подождите » или что-то в этом роде ...

Кроме того, Когда я смотрю на некоторые другие приложения WPF (в первую очередь, ILSpy), кажется, что они работают достаточно быстро, несмотря на большие объемы данных. Это заставляет меня думать, что я, вероятно, делаю что-то не так. Но я понятия не имею, с чего начать.

Есть идеи? Есть классические ошибки? Есть какие-нибудь советы?

23
задан Fyodor Soikin 26 April 2011 в 12:35
поделиться