Как я могу определить, почему вызов SetupDiGetDeviceRegistryProperty () очень медленный? - PullRequest
0 голосов
/ 18 сентября 2018

Я звоню SetupDiGetDeviceRegistryProperty () со свойством SPDRP_DEVICEDESC , и он возвращает TRUE .

Вызывая это на моем "Intel (R) HD Graphics 530 "занимает около 50 мс, в то время как тот же вызов на моем" NVIDIA GeForce GTX 960M "(тот же ноутбук) занимает 750 мс!

Этот вызов возвращает только короткую строку, я не вижу веской причинычтобы это заняло столько времени, чтобы выполнить.Поскольку это вызов Win API, могу ли я определить, что занимает столько времени?

1 Ответ

0 голосов
/ 04 октября 2018

Использование информации о символах Windows, предложенной @IInspectable, и трассировка при разборке помогает указать на медленные функции, но не дает решения проблемы, поскольку код не может быть изменен. Также использование Process Monitor помогает найти причину медленного тестирования.

На данный момент единственный найденный способ ускорить вызов - это запустить процесс от имени администратора.

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