作者poorplus (poorplus)
看板C_and_CPP
标题[问题] winXP上精准计时的方法
时间Tue Aug 18 22:43:52 2009
小弟在测试程式执行的效率
但不论利用clock()、GetTickCount()、GetSystemTimeAsFileTime()
发现时间几乎都约略以15ms为单位
即只会测出0ms、15ms、31ms、46ms之类的数据
开发环境为 VC6.0 // winXP professional 2002 SP2
不知是否有方法可以准确至1ms~3ms左右
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.165.220.225
1F:推 wowtiger:timeBeginPeriod, timeEndPeriod 才能解开 16ms 限制 08/18 23:25
2F:→ wowtiger:但是相对 CPU 应该是没机会休息了 08/18 23:26
3F:推 licheer:挂RTX 08/18 23:32
4F:推 VictorTom:Windows~~要不要试试 QueryPerformanceCounter 系列API? 08/19 00:26
6F:→ VictorTom:印像中会比用clock或tick那一系列的API还要更细一点@_@" 08/19 00:26
7F:→ poorplus:感谢大家的帮忙,QueryPerformanceCounter的确很精准 08/19 00:28
8F:→ poorplus:有热心的板友有给我一个简单的sample 08/19 00:29
10F:→ poorplus:希望有相同困扰的人也可以获得帮助 08/19 00:29
11F:推 VictorTom:看楼上的回推, 就知道小弟我推得慢了....Orz 08/19 00:32
12F:→ poorplus:也是很感谢V大 :) 08/19 00:33
13F:推 wowtiger:其实 RDTSC 最准 但是遇到多核心就垮 要设 AffinityMask 08/19 00:38