`
- 浏览:
4620092 次
- 性别:
- 来自:
武汉
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
#pragmaonce
-
#ifndefSTRICT
-
#defineSTRICT
-
#endif
-
#ifndefWIN32_LEAN_AND_MEAN
-
#defineWIN32_LEAN_AND_MEAN
-
#endif
-
#include<windows.h>
-
inlineunsigned__int64GetCycleCount(void)
- {
- _asm_emit0x0F
- _asm_emit0x31
- }
-
classKTimer
- {
-
unsigned__int64m_startcycle;
-
public:
-
unsigned__int64m_overhead;
-
KTimer(void)
- {
- m_overhead=0;
- Start();
- m_overhead=Stop();
- }
-
-
voidStart(void)
- {
- m_startcycle=GetCycleCount();
- }
-
-
unsigned__int64Stop(void)
- {
-
returnGetCycleCount()-m_startcycle-m_overhead;
- }
-
-
unsigned__int64staticCyclesToNanos(unsigned__int64time_cycles,unsignedintspeed_mhz)
- {
-
returntime_cycles*1000/speed_mhz;
- }
-
-
unsigned__int64staticCyclesToMillis(unsigned__int64time_cycles,unsignedintspeed_mhz)
- {
-
returntime_cycles/speed_mhz/1000;
- }
-
-
unsignedintCPUSpeedMHz()
- {
- Start();
- Sleep(1000);
-
unsigned__int64cputime=Stop();
-
return(unsignedint)(cputime/1000000);
- }
- };
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
如何制作高精度的WINDOWS定时器
精度可以准确到1ms 误差不超2ms 相比系统的那个不稳定的定时器有很大改善 修正了Win10下报错问题
Windows平台高精度定时器封装类,最高精度可达1ms。
vs2019 MFC 多媒体定时器 ms级定时器
VC++默认的定时器,好像精度不大,秒内的不错,但是如果精确到毫秒(ms),不行,如果使用媒体定时器,multimedia timer,则效果显著,基本上精确到毫秒吧,一般的10ms之类的延时,应该可以保证了。 如何使用呢?...
Visual C++实现微秒级精度定时器。
C++精确定时器例程,通用性强!!!值得初学者研究学习!!!
wince下实现高精度定时器,定时精度达到1MS,采用多媒体定时器。
C++默认的定时器,好像精度不大,如果精确到毫秒(ms),使用媒体定时器,multimedia timer
这一个有具高精度的C++MFC实现的定时器,初学MFC的同志可以考虑参考一下
一种基于条件变量的超时机制实现的较高精度又简单的定时器,经过实际测试验证可行。之所以利用条件变量的超时机制,是为了满足可以随时打断及时的需求,同时又不需要轮询的去查,在等待的过程中,线程处于阻塞休眠...
好资料大家一起分享!。。。。。。。。。。。。。。。。。
为了提高开发效率,本文在分析了有关定时器技术的实现及动态库特性的基础上,利用C++语言,结合策略模式的程序设计方法在动态库中实现了高精度可扩展的定时器,并封装成模块提供给其它进程调用。经实际项目验证本...
利用高精度的CreateWaitableTimer建立定时器,精度可以达到100ns, 使用独立线程进行管理,稳定高效,可靠. 本工程不足之处是还没有实现对定时事件部分进行同步并行处理,有兴趣的朋友自行进一步开发和完善. 原创代码, ...
这是一个标准c++11实现的可移植的计时器。合适跨平台使用。
当时为了做游戏服务器但是win下面都是基于窗口的timer,无奈之下就自己写了这个timer,分享出来
C++毫秒定时器类,精度为1ms,简洁方便,可以应用于工程实践
Qt教程-QTimer的精度测试,用自绘的曲线控件,对比了QTimer和windows多媒体计时器的精度
大家在开发过程中,经常遇到需要定时的功能,特别是在工业控制方面,需要高精度毫秒级的定时器,而VS提供的这三种定时器,都不够准确 1.定义在System.Windows.Forms里 2.定义在System.Threading.Timer类里 3.定义在...