В моем приложении WPF есть функция, с помощью которой оно отображает большое количество изображений в фоновом режиме, обновляя интерфейс всякий раз, когда готов новый образ.
Профилирование этого процесса показало, что Application.Run
- это функция, выполняющая большую часть работы, на 43%, с «вторым самым дорогим» местом, разделяемым тремя графическими API, каждый на 6%.
Что я мог бы сделать, что бы потратить столько времени на Application.Run
? Кажется, что ядром этого метода является запуск основного диспетчера для моего приложения, но это не помогает мне понять, что именно диспетчер делает так много. Можно ли получить более мелкозернистый профиль?
Примечание: я имею в виду System.Windows.Application.Run
.