Измерение отзывчивости пользовательского интерфейса приложения Windows - PullRequest
2 голосов
/ 03 ноября 2010

Есть ли метрика для отзывчивости приложения WinForms / Windows?

Что-то вроде процента времени, в течение которого цикл сообщений блокируется?

Как это можно получить?

Ответы [ 2 ]

1 голос
/ 03 ноября 2010

Большое количество вызовов SendMessage (), которые доставляют сообщение прямо в оконную процедуру, выполняются в Windows или другом процессе.Не могу время тех.Косвенным измерением может быть SetTimer () и измерение того, как поздно доставляется сообщение WM_TIMER.

0 голосов
/ 06 января 2011

Как насчет установки события таймера для запуска, например 10 раз в секунду, проверяя каждый раз, когда событие запускает истекшее время с последнего раза, и отслеживая, как часто это время превышает 250 мс, 500 мс, 750 мс и т. Д., Максимум до «10 с или более»? С точки зрения пользователя, не имеет значения, блокируется ли цикл сообщений в 90% случаев, если он никогда не блокируется более 10 мс. С другой стороны, если цикл сообщений блокируется на 15 секунд за раз каждые пять минут, многие пользователи сочтут это крайне неприемлемым, даже если цикл заблокирован всего в 5% случаев.

...