怎样在程序中精确计时

 时间:2024-11-02 16:45:10

在编写一些游戏程序时,常常需要高精度计时,普通的计时分辨率已经满足不了要求。那么,烂瘀佐栾这该如何是好呢?下面,我们就以用 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函数的精确度相对而言还是比较差的。

怎样在程序中精确计时
  • matlab软件中有哪些常用的数学函数?
  • matlab 怎么样使每行的行向量和等于1
  • 离散平滑插值模拟方法
  • 在matlab中为什么图的线有不同的颜色?
  • 如何在MATLAB图形中描述τ?
  • 热门搜索
    应接不暇的暇是什么意思 昆明有什么好玩的 宽容是什么 电子档是什么 雨心碎风流泪是什么歌 赛尔号闪光皮皮什么时候出现 uniform是什么意思 相机调控是什么意思 不置可否是什么意思 房产过户需要什么手续