您的位置:首页 > 产品设计 > UI/UE

精度试验结果报告Sleep, GetTickCount, timeGetTime, QueryPerformanceCounter

2009-09-10 13:51 435 查看
一段简单的代码来实现精度试验

int main()

{

// 初始化代码

......

int i = 0;

while(i++ < 1000)

{

// 获取时间代码

......

printf(...); // 将时间打出

}

}

通过结果可以看出Sleep, GetTickCount都是10~35ms左右的时间跳跃,timeGetTime为1ms,QueryPerformanceCounter和QueryPerformanceFrequency根据CPU频率计时,可以到100ns。

说明Windows中常用的计时函数中,标准计时函数(Sleep, GetTickCount)精度100ms, 多媒体时钟timeGetTime精度1ms,系统晶振大概可以到1us或100ns左右。

可以用来做定时器的计时函数一般都在标准计时的精度范围(CreateWaitableTimer),只有多媒体时钟定时器要高一些。如果想要更高精度的定时器,目前看来Windows没有提供,但是,我们可以通过开发更底层的驱动来获得应用层的高精度定时器,大概可以精确到10us~100us
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐