我正在尝试对一个VB6应用程序进行性能剖析。
基本上,我想在方法级别上确定执行所需的时间。
然而,VB6只支持精确到1秒的计时。有没有好的方法可以计算毫秒等更小的时间单位?
尽管MSDN 说 计时器 只能精确到1秒,但我发现实际上它的精度比那还要好。
GetTickCount 通常可以精确到 约 10 到 16 毫秒。这是一个VB6声明。
Declare Function GetTickCount Lib "Kernel32" () As Long
同一篇微软文章展示了如何使用QueryPerformanceCounter
来获得更高的精度,如果你的电脑支持并且需要的话。
如果我没记错的话,TimeGetTime函数来自winmm.dll,精度相当高。
https://msdn.microsoft.com/en-us/library/windows/desktop/dd757629%28v=vs.85%29.aspx