文档章节

QueryPerformanceCounter

开飞色
 开飞色
发布于 07/16 11:57
字数 175
阅读 46
收藏 0

windows的Sleep函数,睡眠线程指定毫秒数,可以用来做毫秒延时。 对于微秒延时,没有一个现成的函数,但是可以通过 QueryPerformanceFrequency QueryPerformanceCounter 来间接实现。原理就是用循环查询的方式不断调用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);```

© 著作权归作者所有

共有 人打赏支持
开飞色
粉丝 17
博文 60
码字总数 50895
作品 0
昆明
程序员
私信 提问
【分享】 Windows 各种计时函数总结

本文对Windows平台下常用的计时函数进行总结,包括精度为秒、毫秒、微秒三种精度的5种方法。分为在标准C/C++下的二种time()及clock(),标准C/C++所以使用的time()及clock()不仅可以用在Windo...

ibnShawari
2016/02/25
31
0
clock函数耗时计算不准确

场景当前使用clock()计算ffmpeg函数耗时,偶尔出现不准确的问题,相差有100多毫秒clock() measure the CPU time used by your process, not the wall-clock time.When you have multiple t...

fengyuzaitu
2017/12/06
0
0
浅析libuv源码-获取精确时间

  在Timer模块中有提到,libuv控制着延迟事件的触发,那么必须想办法精确控制时间。      如果是JS,获取当前时间可以直接通过Date.now()得到一个时间戳,然后将两段时间戳相减得到时间...

SEOwhywhy
12/07
0
0
精确延时函数DelayTime

void DelayTime(DWORD dwMilliseconds) { LARGE_INTEGER littmp; LONGLONG lTimeBegin; LONGLONG lTimeEnd; double dMinus; double dFreq; double dTim; QueryPerformanceFrequency(&littmp)......

晨曦之光
2012/05/23
112
0
Windows 各种计时函数总结

本文对Windows平台下常用的计时函数进行总结,包括精度为秒、毫秒、微秒三种精度的5种方法。分为在标准C/C++下的二种time()及clock(),标准C/C++所以使用的time()及clock()不仅可以用在Windo...

彭博
2012/04/12
145
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring Cloud 分布式链路跟踪 Sleuth + Zipkin + Elasticsearch

随着业务越来越复杂,系统也随之进行各种拆分,特别是随着微服务架构的兴起,看似一个简单的应用,后台可能很多服务在支撑;一个请求可能需要多个服务的调用;当请求迟缓或不可用时,无法得知...

编程SHA
8分钟前
1
0
Swift-清除缓存

func removeCache (){ // 取出cache文件夹路径.如果清除其他位子的可以将cachesDirectory换成对应的文件夹 let cachePath = NSSearchPathForDirectoriesInDomains(FileMan...

west_zll
8分钟前
1
0
kl键盘事件

frameworks/base/data/keyboards路径下定义了很对kl文件。如Vendor_0416_Product_0300.kl,定义了某某遥控器的按键事件 # TVkey 103 DPAD_UPkey 108 DPAD_DOWNkey 105 DPAD_LEFTk...

安卓工程师王恒
12分钟前
1
0
CentOS 7 安装 Docker

工具: Oracle VM VirtualBox 虚拟机 ,本地电脑win10 系统: 虚拟机装 centos 7 前置条件: Docker 要求 CentOS 系统的内核版本高于 3.10 1. 通过 uname -r 命令查看当前的内核版本 2. 如果不够...

_大侠__
22分钟前
1
0
webrtc onAddStream回调流程

背景 webrtc代码基于M59 正文 1. 回调设置和处理 (1)java层先在监听器中实现回调处理函数,如下所示: private class PCObserver implements PeerConnection.Observer { @Override...

bill_shen
24分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部