游戏开发论坛

 找回密码
 立即注册
搜索
查看: 5083|回复: 11

求解->>>为何DX9的CPU占用率如此之高

[复制链接]

3

主题

12

帖子

12

积分

新手上路

Rank: 1

积分
12
发表于 2005-5-4 20:19:00 | 显示全部楼层 |阅读模式
本人菜鸟,刚刚开始学用DX9.
VC60下只是显示个三角形,CPU占用率令人惊奇的跳到了100%.
可是我用OpenGL也是显示同样的一个三角形CPU占用率才是3%---5%之间.
还望各位高手给在下解答解答!
我画的三角形如下图 [em7]
sf_200554201915.jpg

3

主题

12

帖子

12

积分

新手上路

Rank: 1

积分
12
 楼主| 发表于 2005-5-4 20:28:00 | 显示全部楼层

Re:求解->>>为何DX9的CPU占用率如此之高

很怪,我把绘图的语句放在了WM_PAINT的消息下,CPU占用率马上提升到100%
可是我要是把绘图语句放在建立窗口后的消息循环语句内,CPU占用率就保持在3%--5%之间了,可是在OpenGL中,绘图语句无论放在那个地方CPU占用率都不是很高的.
求高手赐招........无胜感激....................

2万

主题

2万

帖子

6万

积分

论坛元老

Rank: 8Rank: 8

积分
66489
QQ
发表于 2005-5-4 21:14:00 | 显示全部楼层

Re:求解->>>为何DX9的CPU占用率如此之高

OpenGL有很多东西是自动的,无法手动修改。
而Direct3D很多东西必须手动设置,不设置之前不会处理。

2

主题

85

帖子

85

积分

注册会员

Rank: 2

积分
85
发表于 2005-5-4 22:13:00 | 显示全部楼层

Re:求解->>>为何DX9的CPU占用率如此之高

本来就不应该放在WM_PAINT下的。

0

主题

9

帖子

15

积分

新手上路

Rank: 1

积分
15
发表于 2005-5-5 01:13:00 | 显示全部楼层

Re:求解->>>为何DX9的CPU占用率如此之高

我的DirectX程序也有个很奇怪的现象:
当正常运行时(包含有动画,播放音乐等),占用12M内存,CPU在40~50%之间,动画播放帧数在60FPS左右;
但当屏蔽掉音乐后,内存减到5M,CPU减到5%,但FPS就只有40多FPS了;
不知是什么原因,就理由应该FPS更高的呀!

26

主题

324

帖子

325

积分

中级会员

Rank: 3Rank: 3

积分
325
QQ
发表于 2005-5-5 01:40:00 | 显示全部楼层

Re:求解->>>为何DX9的CPU占用率如此之高

消息循环又问题吧

3

主题

12

帖子

12

积分

新手上路

Rank: 1

积分
12
 楼主| 发表于 2005-5-5 21:48:00 | 显示全部楼层

Re:求解->>>为何DX9的CPU占用率如此之高

我用索引顶点的方法显示两个三角形,可是当我
最小化窗口后CPU占用率跳到了100%,鼠标都卡
住了,动不了,不知道是怎么回事只能强行关闭.
我弄了一整天,还是解决不了,那位高手帮帮我啊?

[em7] [em7] [em7] [em7] [em7] [em7] [em7]

17

主题

165

帖子

167

积分

注册会员

Rank: 2

积分
167
发表于 2005-5-7 17:40:00 | 显示全部楼层

Re:求解->>>为何DX9的CPU占用率如此之高

难道是PeekMessage和GetMessage的问题?

69

主题

450

帖子

473

积分

中级会员

战魂缔造者

Rank: 3Rank: 3

积分
473
QQ
发表于 2005-5-9 11:17:00 | 显示全部楼层

Re:求解->>>为何DX9的CPU占用率如此之高

D3D9中,D3DPRESENT_PARAMETERS里有一个PresentationInterval参数,决定刷新模式
我们普通是用
PresentationInterval=D3DPRESENT_INTERVAL_IMMEDIATE;
这时是时时刷新,渲染速度反映真是速度,CPU占用率很高
如果设为
PresentationInterval=D3DPRESENT_INTERVAL_ONE;
和全屏时的刷新方式差不多,FPS会固定在一个数值,CPU占用率和OPENGL的就差不多了

69

主题

450

帖子

473

积分

中级会员

战魂缔造者

Rank: 3Rank: 3

积分
473
QQ
发表于 2005-5-9 11:18:00 | 显示全部楼层

Re:求解->>>为何DX9的CPU占用率如此之高

一般可以在当前窗口激活时再渲染,这样占用率就不会很高了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-26 13:29

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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