游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2698|回复: 5

为在窗口模式下DirectDraw做的.CPU使用基本是100%??

[复制链接]

20

主题

49

帖子

122

积分

注册会员

Rank: 2

积分
122
发表于 2006-9-20 23:27:00 | 显示全部楼层 |阅读模式
为在窗口模式下DirectDraw做的.CPU使用基本是100%?? 在全屏下好一点点.

有什么办法解决?

29

主题

224

帖子

224

积分

中级会员

Rank: 3Rank: 3

积分
224
QQ
发表于 2006-9-21 03:07:00 | 显示全部楼层

Re:为在窗口模式下DirectDraw做的.CPU使用基本是100%??

限制桢速率行不行?  [em24]
因为在全屏模式下可能使用的是固定刷新率如60,相对cpu的占用率就小一点.

同样的问题:没有对窗口模式限制(FPS太高,浪费了cpu时间片)
http://bbs.gameres.com/upload/sf_200697202857.rar

20

主题

49

帖子

122

积分

注册会员

Rank: 2

积分
122
 楼主| 发表于 2006-9-21 09:16:00 | 显示全部楼层

Re:为在窗口模式下DirectDraw做的.CPU使用基本是100%??

我限了30.

29

主题

81

帖子

85

积分

注册会员

Rank: 2

积分
85
发表于 2006-9-21 23:14:00 | 显示全部楼层

Re:为在窗口模式下DirectDraw做的.CPU使用基本是100%??

估计在获取消息队列中消息的循环时加个 sleep(0) 就好多了的

30

主题

90

帖子

94

积分

注册会员

Rank: 2

积分
94
发表于 2006-9-21 23:23:00 | 显示全部楼层

Re:为在窗口模式下DirectDraw做的.CPU使用基本是100%??

可能是因为获取消息的方法用的是PeekMessage,用GetMessage试一下。
游戏为活动窗口时,占满CPU不是什么怪现象,那似乎不是真正的被占满,别的程序还是可以随时取得CPU时间。
有谁知道在MFC里面把渲染代码放在哪里才好呢?放在OnIdle里只在有消息的时候才渲染,我为了让它一直能渲染,就让OnIdle总是返回true,结果当程序为非活动窗口时,别的程序要费很大劲才能取得CPU时间。

8

主题

716

帖子

716

积分

高级会员

Rank: 4

积分
716
发表于 2006-9-25 14:40:00 | 显示全部楼层

Re:为在窗口模式下DirectDraw做的.CPU使用基本是100%??

好可爱的tank.... >_<o

楼上的说反了吧。。。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-25 12:49

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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