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忙于检查(并无限制地重新检查)消息.您需要以阻止方式等待消息,或者更有可能使用定期唤醒游戏线程的计时器,以便它可以完成其工作.然后游戏线程会消失,直到下次它被唤醒.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- windows-server-2008 – Windows Server 2008,20
- windows – 为什么WaitForSingleObject(INVALID_
- 域名系统 – Windows Server 2016 IPv6 Hell
- windows – 手动应用puppet类
- active-directory – Windows Server:SYSTEM和C
- 使用Windows快捷方式运行R脚本
- windows-server-2003 – 如何转发Windows DNS服务
- 相当于Win32的________在.NET中
- 如何在Windows 8 Metro C#XAML应用程序中播放H.2
- 无法在Windows上部署MongoDB副本集?
热点阅读