是用
SetTimer();
....
OnTimer(){
function();
};
好,
还是用
SetTimer();
...
if(PeekMessage()){
TranslateMessage();
DispatchMessage();
}
else{
function();
}
好
还是
mStartTime = timeGettime()
....
mTime = timeGettime() - mStartTime();
function(mTime);
好?
三种方法各有什么优劣?
SetTimer();
....
OnTimer(){
function();
};
好,
还是用
SetTimer();
...
if(PeekMessage()){
TranslateMessage();
DispatchMessage();
}
else{
function();
}
好
还是
mStartTime = timeGettime()
....
mTime = timeGettime() - mStartTime();
function(mTime);
好?
三种方法各有什么优劣?
解决方案 »
- C++基础问题
- 到底怎么配置WDK(DDK)的开发环境啊?
- 在使用CTab控件中遇到的问题
- 如何获得桌面显示模式的像素格式?
- 【急】简单的IE控件问题,高分求助!
- 怎么样实时的读取串口发过的数据?是用消息?还是其他的什么?
- 定义了一个类是CWnd的子类CMyPosDlg ,为什么不能当CWnd用呢,请大侠们出手相救
- !注意了!C++聚英堂II(4580156) C++聚英堂 I(4580129) : )
- 在VC用OLE方法调用word2000时,怎样在页眉中写入文本
- 那里有关于Excel2000中Rang、Workbook、Worksheet等对象的资料?
- <<visual c++音视频编解码技术及实践>>9成新书转让
- 请教关于MinGW工程转换的问题 ...
....
OnTimer(){
function();
};这个比较好用,MFC消息的信道
个人见解了
因为WM_TIMER消息的优先级很低,在消息队列中消息比较多的时候,很容易因为阻塞导致OnTimer不响应或者延迟响应(即计时无效或不准确)
所以我看到网上很多人说用PeekMessage,的确是高频率的刷新。但是在Allen Sherrod的《Ultimate Game Programming with DirectX》书中,响应键盘鼠标和创建关闭消息用的是第二种方法,在做动画的时候用的是第三种方法。
所以我想知道这三种方法从执行效率和对CPU的无任务空占方面来考虑,各有什么优劣,以及分别适用于什么情形?谢谢指点!