VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

有编程疑问吗?还请到提问专区发帖提问!
搜索
查看: 401|回复: 2

[求助] windows创建窗口类CPU使用率太高

[复制链接]
35_avatar_middle
online_vip cheating_plugin 发表于 2017-7-30 10:55:24 | 显示全部楼层 |阅读模式
3驿站币
在初学的时候,自己写了一个窗口,很简单,大家刚开始的时候估计都写过吧

while( GetMessage( &msg, NULL, 0, 0 ) )        //从消息队列中获取消息
    {
        TranslateMessage( &msg ) ;                 //将虚拟键消息转换为字符消息
        DispatchMessage( &msg ) ;                  //分发到回调函数(过程函数)
    }

里面一些什么注册串口类,什么过程我就不写了,大家都懂的。

我这里有一个问题:如果说,我们这样写的话,CPU的使用会很高,可以说一条线程都被占用满了。
但为什么MFC自己封装的类不会把CPU一条线程占用满,一直都是0%。
难道消息循环里面加了sleep?这样好吗?好像不妥吧。

所以我想自己封装一个自己写的windows窗口,简单就可以了,怎么解决CPU占用太高呢?





上一篇:根据PE文件格式文件大小有地方不会算
下一篇:初学者关于构造函数的问题

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

01_avatar_middle
online_admins admin 发表于 2017-7-30 13:12:24 | 显示全部楼层
应该不用加 Sleep,可以用 visual studio 建立一个 win32的工程,默认他的代码也是没有加 sleep 的,我建了一个,楼主可以参考下!

SDKTest.zip

12.44 KB, 下载次数: 1

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复

使用道具 举报

65_avatar_middle
在线会员 yaoyuanzhi 发表于 2017-7-31 15:00:51 | 显示全部楼层
GetMessage阻塞了 大兄弟, 不占用CPU的, 你说的是PEEKMESSAGE吧

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

站长提醒上一条 /1 下一条

QQ
QQ在线咨询
联系电话
13591366679
手机扫一扫 关注本站精彩内容
wxqrcode

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2018-11-16 12:20

Powered by Discuz! X3.4

© 2009-2018 cctry.com

快速回复 返回顶部 返回列表