-
-
[旧帖]
[求助]请问PeekMessage的消息循环中CPU占用率如何降下来?
0.00雪花
-
发表于:
2009-9-27 11:48
4837
-
[旧帖] [求助]请问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?
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课