В своей работе я использовал DotTrace для анализа медлительности, которую испытал один из наших клиентов в нашем приложении WPF для настольных ПК.Я использовал его прежде, чтобы сделать это, что привело к выводу, что база данных работает медленнее, и затем мы могли бы найти решение.
На этот раз, однако, я вижу 75% времени выполнения в собственном коде и нетявная медлительность в пользовательском коде.Я обыскал некоторых вокруг и увидел несколько других людей с тем же вопросом.Ответ был либо нормальным (предыдущий снимок также занимал лишь крошечную часть времени выполнения в пользовательском коде, что кажется нормальным), либо анализировать его дальше, если вы установите флажок «Собирать собственные выделения» при создании снимка(К сожалению, я не проверял).
Если я проверяю только пользовательский код, большая часть времени выполнения находится в DLL-библиотеках DevExpress, которые являются сторонними компонентами пользовательского интерфейса.Не могли бы вы тогда сказать, что это движется в сторону медлительности, связанной с аппаратным обеспечением (см. Часть кода пользователя снимка ниже)?
![enter image description here](https://i.stack.imgur.com/g2n7f.png)
Я использовал опцию Временной шкалы, чтобысоздать снимок.
Мои вопросы:
- Поскольку снимок не показывает много времени в истинном пользовательском коде (исключая компоненты DevExpress), могу ли я заключить, что этомедлительность не вызвана неэффективностью нашего кода?
- Могу ли я что-нибудь отличить от части снимка с собственным кодом (см. скриншот ниже)?
- Удобно ли использовать Timeline для этого случая илиодин из других вариантов сэмплирования более понятен?
- Как мне поступить в таком случае, чтобы приблизиться к источнику медлительности?
Заранее спасибо за помощь!
Себастьян
Собственная часть кода снимка: ![enter image description here](https://i.stack.imgur.com/S0Jam.png)