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

QueryPerformanceCounter实现Windows微秒级延时

2013-09-03 12:26 399 查看
windows的Sleep函数,睡眠线程指定毫秒数,可以用来做毫秒延时。对于微秒延时,没有一个现成的函数,但是可以通过QueryPerformanceFrequencyQueryPerformanceCounter来间接实现。原理就是用循环查询的方式不断调用QueryPerformanceCounter(在Winbase.h中)
LARGE_INTEGER freq;
LARGE_INTEGER start, end;
QueryPerformanceFrequency(&freq);
unsigned int us = 100000;
LONGLONG count = (us * freq.QuadPart) / (1000 * 1000);
QueryPerformanceCounter(&start);
count = count + startQuadPart ;
do
{
   QueryPerformanceCounter(&end);
}while(end.QuadPart< count);
printf("us %u, elaps %u ms\r\n", us, tpend-tpstart);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: