高精度计时器类
2015-10-15 14:45
162 查看
由来
今天测试GDI、Direct2D绘图性能时,发现GetTickCount()函数的精度只有15ms左右,而绘制10000个随机点线段所需时间大概也为几十ms,误差比较大,找了下原来有更高精度(1ms)的多媒体定时器可以调用,因此记录下来。测试平台
Win10 x64VS 2010 32位对话框工程
代码
class HClock { public: HClock(); ~HClock(); public: void StartClock(void); void EndClock(void); double GetTime(void);//in ms protected: private: LARGE_INTEGER nFreq; LARGE_INTEGER nStart; LARGE_INTEGER nEnd; }; HClock::HClock() { } HClock::~HClock() { } void HClock::StartClock(void) { QueryPerformanceFrequency(&nFreq); QueryPerformanceCounter(&nStart); } void HClock::EndClock(void) { QueryPerformanceCounter(&nEnd); } double HClock::GetTime(void) { return(1000.0*(double)(nEnd.QuadPart-nStart.QuadPart)/(double)nFreq.QuadPart); }
调用很简单,就不写了
相关文章推荐
- AS3脚本编写的计时器效果代码
- Visual C++中MFC消息的分类
- MFC中Radio Button的用法详解
- MFC对话框中添加状态栏的方法
- MFC创建右键弹出菜单的方法
- MFC中动态创建控件以及事件响应实现方法
- C++ 关于MFC多线程编程的注意事项
- MFC程序对文件的处理方法
- MFC自定义消息的实现方法
- MFC实现在文件尾追加数据的方法
- MFC之ComboBox控件用法实例教程
- Node.js中使用计时器定时执行函数详解
- sliderToggle在写jquery的计时器setTimeouter中不生效
- MFC绘制不规则窗体的方法
- IE8引发 VS2005/2008 MFC向导出错的解决方案
- JS 页面计时器示例代码
- Android Wear计时器开发
- MFC实现全屏功能代码实例
- 使用VS2010创建MFC ActiveX工程项目
- javascript实现的简单计时器