C ++ Профилирование: KiFastSystemCallRet - PullRequest
4 голосов
/ 13 апреля 2010

Я искал это после того, как увидел, что это профиль с самым высоким рейтингом при профилировании с использованием Very Sleepy, и кажется, что все получают ответ «это системная функция, игнорируйте ее». Но подсказка Sleepy для функции гласит:

Подсказка: KiFastSystemCallRet часто означает нить чего-то ждала еще до конца. Возможные причины может быть дисковый ввод-вывод, ожидая событие, или, может быть, просто вызов Sleep ().

Теперь, мое приложение абсолютно перегружает процессор, и это немного странно, 33% времени тратится на ожидание чего-либо.

Неужели я просто игнорирую это?

РЕДАКТИРОВАТЬ: по-видимому, 77% вызовов этого поступают из QueryOglResource (?), Который находится в модуле nvd3dnum. Я думаю , что может быть материалом nvidia Direct3D, то есть рендерингом.

Ответы [ 2 ]

2 голосов
/ 13 апреля 2010

Не игнорируйте это. Узнайте, как это называется . Если вы посмотрите обратно стек вызовов туда, где он попадает в ваш код, это скажет вам, где проблема. Важно остановить его случайным образом (не с точкой останова), чтобы вероятнее всего появлялись трассировки стека, которые на самом деле стоят много времени.

1 голос
/ 13 апреля 2010

Эта функция довольно бессмысленна для профилировщика, это в основном логическая конечная точка для целого ряда системных функций. Какие функции у вас есть, вызывая это? WaitForMultipleObjects? Асинч читает?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...