[MFC]自定义时间间隔Timer
来源:互联网 发布:欧洲看不起美国知乎 编辑:程序博客网 时间:2024/05/01 00:13
Owed by: 春夜喜雨 http://blog.csdn.net/chunyexiyu 转载请标明来源
需求: 对某项的处理,需要每隔一段时间处理一次。其它时间不处理。
例如: ffmpeg视频播放的时候,25 TPS时,40ms播放一桢。
实现: 通过该类,可以设置一个定时器,不停查询时,每n毫秒,返回一次true,用于间隔执行。
例如: ffmpeg视频播放的时候,可以设置这个Timer,每40ms播放一桢。
每毫秒检测一次,从而比较精确的播放每一帧。
当然了,也可使用MFC定时器来主动触发,效果类似,但也有些不同,适用于不同的需求场景。
MFC定时器通常用于固定触发,把触发的动作时间排除在外,例如: sleep(n)->执行时间->sleep(n)
而这个CMyTimer的话,把触发动作执行时间排除在外,例如sleep(n)->sleep(n) 和 执行时间无关。
class CMyTimer
{
public:
// nTimeStep: 执行间隔
// bIsFirstTimeProc: 第一次是否立刻执行
CMyTimer(DWORD nTimeStep = 1000, bool bIsFirstTimeProc = true)
{
m_timestep = nTimeStep;
if (!bIsFirstTimeProc)
{
m_starttime = timeGetTime();
}
else
{
m_starttime = 0;
}
}
bool IsTimeToExecute()
{
DWORD curTime = timeGetTime();
if (curTime >= m_starttime + m_timestep)
{
m_starttime = curTime;
return true;
}
return false;
}
private:
DWORD m_starttime;
DWORD m_timestep;
};
- [MFC]自定义时间间隔Timer
- Timer类第一次启动时间的间隔
- Flash Player帧频、Timer计时 的时间间隔
- Timer实现指定整点时间触发、指定间隔触发
- C#使用Timer.Interval指定时间间隔与指定时间执行事件
- 时间间隔
- 时间间隔
- 时间间隔
- 时间间隔
- [Blackfin]BF506F中Counter和Timer协作测量脉冲的时间间隔
- 自定义Vista还原点时间间隔 节省硬盘空间
- Windows设置时间自动更新并且自定义更新间隔
- Android 实现自定义时间间隔,文字颜色的TimePicker
- MFC TIMER
- settimer 设置的时间间隔不精确问题,mfc使用多线程播放视频
- c# 计算时间间隔
- 计算时间间隔函数
- datediff()获取时间间隔
- 生成dt并填加数据
- RMQ(Range Minimum/Maximum Query)——ST算法
- Redis基本操作
- navigationcontroller
- 基于距离的计算方法
- [MFC]自定义时间间隔Timer
- 给力的同事、周到的福利——揭秘万达电商(5)
- cocos2dx-3.2和vs2013工程编译不通过找不到<thread>
- WinCE 程序打包CAB
- 数字电路设计之ARM m0进度(2)
- 数据库解析——mysql explain 详解
- 如何在Root的手机上开启ViewServer,使得HierachyViewer能够连接
- lua require dofile loadfile区别
- spring注解中使用properties文件