社区
C++ Builder
帖子详情
GetTickCount()和clock()函数计时哪个更准确些!
payne
2001-07-19 08:38:46
我在用GetTickCount()和clock()函数测试同一段代码所执行的时间长度时,发现前者为
2ms,而用后者测试为9ms,并且用同一函数在不同时间测试时得出的结果相差甚远。有没有什么好方法解决一下。是不是只有求助硬件了,可我在C++Builder下访问不到8253呀!
...全文
939
2
打赏
收藏
GetTickCount()和clock()函数计时哪个更准确些!
我在用GetTickCount()和clock()函数测试同一段代码所执行的时间长度时,发现前者为 2ms,而用后者测试为9ms,并且用同一函数在不同时间测试时得出的结果相差甚远。有没有什么好方法解决一下。是不是只有求助硬件了,可我在C++Builder下访问不到8253呀!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
alanwang
2001-07-19
打赏
举报
回复
用这个吧,包你满意,我已测试过。
利用计算机中的8253,8254可编程时间间隔定时器芯片实现的。在计算机内部有三个独立的16位计数器。计数器可以以二进制或二—十进制(BDC)计数。计数器每秒产生1193180次脉冲,每次脉冲使计数器的数字减一,产生频率是可变的,用QueryPerformanceFrequency可以得到,一般情况下都是 1193180。QueryPerformanceCounter可以得到当前的计数器值。所以只要你的计算机够快, 理论上精度可以达到1/1193180秒。
QueryPerformanceFrequency(&litmp); // 获得计数器的时钟频率
dfFreq=(double)litmp.QuadPart;
// 延迟 MilliSecond 毫秒 ,大于x毫秒而与之最接近的毫秒数,精度预计0.02ms以上
void __fastcall TMainForm1::QuerySleep(float MilliSecond)
{
QueryPerformanceCounter(&litmp); // 获得初始值
QPart1=litmp.QuadPart;
do
{
QueryPerformanceCounter(&litmp); // 获得终止值
QPart2=litmp.QuadPart;
dfMinus=(double)(QPart2-QPart1);
dfTim=dfMinus/dfFreq; // 时间差
}while(dfTim<(MilliSecond/1000));
}
yphy
2001-07-19
打赏
举报
回复
当然是GetTickCount()更精确,因为它是多媒体时间,其实还有更精确的是timeGetTime()
yphy
h 获取时间
函数
例如,Sleep适合简单的延时,MFC Timer事件适合需要周期性执行操作的情况,time
函数
适用于记录整体时间跨度,COleDateTime类适合处理日期和时间操作,
clock
函数
适用于短时间内
计时
,而Get
Tick
Count
则适合快速检测...
计时
程序(倒
计时
和顺
计时
)
这通常通过调用操作系统提供的API
函数
来完成,例如在Windows系统中可以使用Get
Tick
Count
或QueryPerformance
Count
er,在Linux或MacOS中则可以使用gettimeofday或
clock
_gettime。 倒
计时
(
Count
down)功能是
计时
程序...
Windows时间
函数
大全.pdf
- 相较于`
clock
()`
函数
,`Get
Tick
Count
()`提供了
更
高的时间精度,特别适用于多媒体应用中的定时需求。 ### 总结 通过本文档的介绍,我们可以了解到Windows操作系统中提供了多种用于时间控制的
函数
,包括`Sleep`、`...
定时
函数
的应用综述.pdf
6. **Windows的Get
Tick
Count
函数
**:Get
Tick
Count
返回系统启动后的毫秒数,比
clock
函数
精度
更
高,但仍然不是绝对精确的定时器,主要用于简单
计时
或多媒体应用,如测量
函数
执行时间。 在选择合适的定时
函数
时,需要...
时钟
计时
器软件
例如,在Windows系统中,可以使用Get
Tick
Count
或QueryPerformance
Count
er
函数
;在Linux中,可以使用gettimeofday或
clock
_gettime
函数
。 2. 时间精度: 在不同的应用场景中,
计时
器的精度需求各异。毫秒级
计时
适用于...
C++ Builder
13,870
社区成员
102,693
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章