MFC多媒体定时器与普通定时器的比较

本文对比了MFC中的多媒体定时器和普通定时器,阐述了多媒体定时器不依赖消息机制,能实现1ms的高精度定时,而普通定时器在低分辨率下性能不足。建议在需要小于1秒定时周期时使用多媒体定时器。
摘要由CSDN通过智能技术生成

一、多媒体定时器的使用

多媒体定时器不依赖消息机制,而是有TimeSetEvent()产生一个独立的线程,在一定的中断次数到达后,直接调用预先设置的回调函数进行处理,而不必等待应用程序的消息队列为空,保证的定时器的实时相应,是一种很理想的高精度定时器,可以实现精度为1ms的定时精度。

1.多媒体定时器的使用

首先要包含MMSystem.h头文件,还要添加以下代码
#pragma comment(lib,"winmm.lib")

启动多媒体定时器原型

MMRESULT timeSetEvent( UINT uDelay, UINT uResolution, LPTIMECALLBACK lpTimeProc, WORD dwUser, UINT fuEvent )

参数说明:
uDelay:以毫秒指定时的周期
Uresolution:以毫秒指定延时的精度,数值越小定时器事件分辨率越高。缺省值为1ms。
LpTimeProc:指向一个回调函数,该回调函数包含需要定时执行的代码。
DwUser:存放用户提供的回调数据。
FuEvent:指定定时器事件类型:
TIME_ONESHOT:uDelay毫秒后只产生一次事件。
TIME_PERIODIC :每隔uDelay毫秒周期性地产生事件。

例࿱

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值