读书人

定时器SetTimer的纳闷

发布时间: 2012-07-28 12:25:13 作者: rapoo

定时器SetTimer的疑惑
在做歌词文件解析后显示的时候,发现展示时间总是有问题。后做个简单的测试,建立一个基于对话框的程序。

定义个变量m_passTime,初始化为0,
在OnInitDialog中加入SetTimer(1,1, NULL);每毫秒调用一次

在OnTimer中加入 m_passTime+=1;

然后调试运行,大约4秒后,在上句加上断点,发现m_passTime的值为406

如果1s = 1000ms,那这个值应该是4000多才对吧?

不知道这个是什么原因呢?很困惑

运行环境为vs2008,求解释!

[解决办法]

探讨
谢谢楼上回复,但歌词文件中都是精确到ms的,500ms就没有意义了!有没有其它思路提供?


引用:

OnTimer是很不准的。
如果你想1秒钟响应10次
我可以告诉你,大概只能响应7次
我统计过的
WM_TIMER这个消息的优先级很低
经常会被冲掉的
千万不要1ms调用一次!
想想别的方法
500ms调用一次应该不会丢

读书人网 >VC/MFC

热点推荐