如何确定为什么对SetupDiGetDeviceRegistryProperty()的调用非常慢?

时间:2018-09-18 02:21:47

标签: winapi device-driver

我正在使用SetupDiGetDeviceRegistryProperty()属性呼叫SPDRP_DEVICEDESC,它返回TRUE

在我的“ Intel(R)HD Graphics 530”上调用此过程大约需要50毫秒,而在我的“ NVIDIA GeForce GTX 960M”(同一笔记本电脑)上进行相同的调用则需要750毫秒!

此调用仅返回一个短字符串,没有充分的理由使我看到它花费那么长的时间来执行。 由于这是Win API调用,因此我有什么方法可以确定花费了这么长时间吗?

1 个答案:

答案 0 :(得分:0)

使用@IInspectable建议的Windows符号信息并反汇编进行跟踪有助于指出功能缓慢,但是由于无法修改代码,因此无法解决此问题。 另外使用Process Monitor有助于找出基准测试缓慢的原因。

目前,唯一可以使通话更快的解决方法是以admin身份运行该过程。