精确的时间计时.doc_第1页
精确的时间计时.doc_第2页
精确的时间计时.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

精确的时间计时,有时候是非常必要的。比如播放多媒体时视频与音频的时间同步,还有在测试代码的性能时,也需要使用到非常精确的时间计时。还有测试硬件的性能时,也需要精确的时间计时。这时就需要使用QueryPerformanceCounter来查询定时器的计数值,如果硬件里有定时器,它就会启动这个定时器,并且不断获取定时器的值,这样的定时器精度,就跟硬件时钟的晶振一样精确的。QueryPerformanceCounter 查询性能计数器The QueryPerformanceCounter function retrieves the current value of the high-resolution performance counter, if one exists.此函数用于获取精确的性能计数器数值,如果存在.BOOL QueryPerformanceCounter( LARGE_INTEGER *lpPerformanceCount / address of current counter value 当前计数器值的地址 );ParameterslpPerformanceCountPoints to a variable that the function sets, in counts, to the current performance-counter value. If the installed hardware does not support a high-resolution performance counter, this parameter can be to zero.指针,指向函数设置的一个变量(一般是个引用,译者注),用来返回性能计数器的值.如果已安装的硬件不支持高精度性能计数器,此参数可以为0(那调用有什么意义,用来查询?).Return ValuesIf the installed hardware supports a high-resolution performance counter, the return value is nonzero.不支持,返回非0If the installed hardware does not support a high-resolution performance counter, the return value is zero.否则返回0下面有个例子:WINBASEAPIBOOLWINAPIQueryPerformanceCounter( _out LARGE_INTEGER *lpPerformanceCount );WINBASEAPIBOOLWINAPIQueryPerformanceFrequency( _out LARGE_INTEGER *lpFrequency );lpPerformanceCount是返回定时器当前计数值。QueryPerformanceFrequency是返回定时器的频率。调用函数的例子如下:/精确时钟查询。 void TestHighTimer(void) / LARGE_INTEGER nFreq; LARGE_INTEGER nLastTime1; LARGE_INTEGER nLastTime2; /获取是否支持精确定时器。 if (QueryPerformanceFrequency(&nFreq) / const int nBufSize = 256; TCHAR chBufnBufSize; /显示定时器的频率。 wsprintf(chBuf,_T(LastTime=%I64drn),nFreq); OutputDebugString(chBuf); /获取定时器的值。 QueryPerformanceCounter(&nLastTime1); wsprintf(chBuf,_T(LastTime=%I64drn),nLastTime1); OutputDebugString(chBuf); Sleep(0); /获取定时器的值。 QueryPerformanceCounter(&nLastTime2); wsprintf(chBuf,_T(LastTime=%I64drn),nLastTime2); OutputDebugString(chBuf); /计算时间是花费多少秒。 float fInterval = nLastTime2.QuadPart - nLastTime1.QuadPar

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论