怎样在程序中精确计时
在编写一些游戏程序时,常常需要高精度计时,普通的计时分辨率已经满足不了要求。那么,烂瘀佐栾这该如何是好呢?下面,我们就以用 VS2013 中编写一个高精度计时程序为例,来教大家具体的方法。
工具/原料
VS2013
一、函数简介
1、要进行高精度计时,需要用到两个函数:兑恶铼融QueryPerformanceFrequencyQueryPerformanceCounter要使用这两个函数,需要包含头文件Winbase.h ( 包含于 Windows.h 中)。
2、QueryPerformanceFrequency 函数的说明如图所示。
3、QueryPerformanceCounter 函数的说明如图所示。
4、这两个函数均需要用到一个 LARGE_INTEGER 结构,该结构的介绍如图所示。
二、用法
1、利用以上两个函数获得精确计时的方法如图所示。
三、示例
1、现在,我们利用以上函数对系统中的 Sleep 函数的精确度作一下考量,测试一下 Sleep(1000) 的误差范围大概是多大。
2、在程序中,定义三个LARGE_INTEGER 结构变量,分别用它们来获取时钟分辨率、开始和结束计时,最后在屏幕上输出结果。
3、以下是运行结果截图。可以看出,Sleep函数的精确度相对而言还是比较差的。
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:80
阅读量:25
阅读量:29
阅读量:71
阅读量:90