首页
社区
课程
招聘
[旧帖] [求助]请问PeekMessage的消息循环中CPU占用率如何降下来? 0.00雪花
发表于: 2009-9-27 11:48 4835

[旧帖] [求助]请问PeekMessage的消息循环中CPU占用率如何降下来? 0.00雪花

2009-9-27 11:48
4835
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?

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 247
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
这种机制不对吧 要用GetMessage这样只有有消息的时候才会循环 没消息就等待
2009-9-28 08:56
0
游客
登录 | 注册 方可回帖
返回
//