加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

winapi – Windows游戏循环双核50%CPU

发布时间:2020-12-14 02:14:45 所属栏目:Windows 来源:网络整理
导读:仅游戏循环使用50%的CPU使用率,我还没有完成任何渲染工作.我在这做什么? while(true) { if(PeekMessage(msg,NULL,PM_REMOVE)) { if(msg.message == WM_QUIT || msg.message == WM_CLOSE || msg.message == WM_DESTROY) break; TranslateMessage(msg); Disp
仅游戏循环使用50%的CPU使用率,我还没有完成任何渲染工作.我在这做什么?

while(true)
        {
            if(PeekMessage(&msg,NULL,PM_REMOVE))
            {
                    if(msg.message == WM_QUIT || 
                           msg.message == WM_CLOSE || 
                           msg.message == WM_DESTROY)
                            break;

                    TranslateMessage(&msg);
                    DispatchMessage(&msg);                   
            }
            else
            {
                    //Run game code,break out of loop when the game is over

            }
        }

解决方法

经典忙/等待循环.您的CPU忙于检查(并无限制地重新检查)消息.您需要以阻止方式等待消息,或者更有可能使用定期唤醒游戏线程的计时器,以便它可以完成其工作.然后游戏线程会消失,直到下次它被唤醒.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读