代码之家  ›  专栏  ›  技术社区  ›  rold2007

如何确定对setupDiGetDeviceRegistrProperty()的调用非常慢的原因?

  •  0
  • rold2007  · 技术社区  · 6 年前

    我在打电话 SetupDiGetDeviceRegistryProperty() SPDRP_DEVICEDESC 财产和它的回报 TRUE .

    在我的“Intel(R)HD Graphics 530”上调用这个需要大约50ms,而在我的“NVIDIA GeForce GTX 960M”(同一台笔记本电脑)上调用这个需要750ms!

    这个调用只返回一个短字符串,我看不出有什么理由让它花那么长时间执行。 既然这是一个Win-API调用,有没有什么方法可以让我确定是什么花费了这么长的时间?

    1 回复  |  直到 6 年前
        1
  •  0
  •   rold2007    6 年前

    在反汇编中使用@IInspectable和tracing建议的Windows符号信息有助于指出缓慢的函数,但它不能解决这个问题,因为代码无法修改。 Process Monitor 有助于找到基准测试缓慢的原因。