-
-
[旧帖]
[求助]请问PeekMessage的消息循环中CPU占用率如何降下来?
0.00雪花
-
发表于:
2009-9-27 11:48
4835
-
[旧帖] [求助]请问PeekMessage的消息循环中CPU占用率如何降下来?
0.00雪花
PeekMessage函数是直接返回的,所以一般情况下使用它做消息循环的话CPU占用率是达到最高的,比如下面这个循环:
while( msg.message!=WM_QUIT )
{
if( PeekMessage( &msg, NULL, 0U, 0U, PM_REMOVE ) )
{
TranslateMessage( &msg );
DispatchMessage( &msg );
}
else
Render();
}
这是某个例程,我运行了他编译好的exe(是用VC6编译的),CPU占用率确实几近50%,但是我自己用VS2008编译之后,运行发现CPU占用率接近0,而且效果完全一样,就很纳闷,它做了什么样的优化可以让这个循环不持续占用CPU?
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!