游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3897|回复: 13

为什么我的ShadowMap暴慢啊?

[复制链接]

17

主题

42

帖子

48

积分

注册会员

Rank: 2

积分
48
QQ
发表于 2007-8-30 17:16:00 | 显示全部楼层 |阅读模式
不用ShadowMap渲染整个场景:70~80fps,我很满意
加上ShadowMap后:10~20fps,天哪!!

我只创建了1024x1024的R32F纹理,ShadowMap的Shader就是照抄DX SDK的Sample,也没有对ShadowMap做过滤,为什么会暴慢啊?问题可能出现在什么地方?还请各位高手指教!

8

主题

553

帖子

560

积分

高级会员

Rank: 4

积分
560
发表于 2007-8-30 19:46:00 | 显示全部楼层

Re:为什么我的ShadowMap暴慢啊?

geforce fx5200上也想玩shadowmap? fx系列float texture本来就慢。

1

主题

149

帖子

149

积分

注册会员

Rank: 2

积分
149
QQ
发表于 2007-8-30 20:29:00 | 显示全部楼层

Re:为什么我的ShadowMap暴慢啊?

你到底启用了D3DCREATE_HARDWARE_VERTEXPROCESSING了没?这时别用D3DCREATE_SOFTWARE_VERTEXPROCESSING.
另外渲染到ZMAP的时候你应该尽量剔除(不会产生投影的物体这阶段就别渲染),减少批次.

36

主题

1047

帖子

1147

积分

金牌会员

Rank: 6Rank: 6

积分
1147
发表于 2007-8-30 21:31:00 | 显示全部楼层

Re:为什么我的ShadowMap暴慢啊?

5200 为啥不用 hardware depth shadow map?

17

主题

42

帖子

48

积分

注册会员

Rank: 2

积分
48
QQ
 楼主| 发表于 2007-8-31 09:37:00 | 显示全部楼层

Re:为什么我的ShadowMap暴慢啊?

回1楼:谁说我是5200了?我是9550!
回2楼:当然是用D3DCREATE_HARDWARE_VERTEXPROCESSING了

补充:我把ShadowMap分辨率降到512x512,甚至提高到2048x2048,祯数都几乎没变,所以应该不是传输率的问题

5

主题

686

帖子

697

积分

高级会员

Rank: 4

积分
697
QQ
发表于 2007-8-31 11:32:00 | 显示全部楼层

Re:为什么我的ShadowMap暴慢啊?

是驱动程序或者纹理格式的问题吗?9550支持FP32纹理过慢???逡桓鱿
LZ可以试试屏蔽部分代码,找到瓶颈在哪,是在渲染到ShadowMap,还是在Render Shadow,或是其他D3D的API调用

1

主题

149

帖子

149

积分

注册会员

Rank: 2

积分
149
QQ
发表于 2007-8-31 14:46:00 | 显示全部楼层

Re:为什么我的ShadowMap暴慢啊?

会不会是设置问题?
看看irectX Sdk->Directx utilities->DirectX control panel.看看你是不是设置了"use debug version of Direct3d"如果是,则运行过程会输出大量调试信息.这对于比较大的场景就会有很大影响.尝试使用"use Retail version of Direct3d"

17

主题

42

帖子

48

积分

注册会员

Rank: 2

积分
48
QQ
 楼主| 发表于 2007-8-31 15:09:00 | 显示全部楼层

Re:为什么我的ShadowMap暴慢啊?

我用的Retail……
现在大概找到问题了,注释掉Shader中过滤的部分,速度立刻翻倍,但是效果……

119

主题

1367

帖子

1393

积分

金牌会员

Rank: 6Rank: 6

积分
1393
发表于 2007-8-31 23:41:00 | 显示全部楼层

Re:为什么我的ShadowMap暴慢啊?

应该不会吧
我过去写的shadowmap用的1024x1024的深度图,800x600分辨率渲染
nv6600GT的显卡有400的FPS
9550也不会差那么远吧,LZ用的什么CPU啊,CPU应该也有一点点的关系
还有你的Dx用的是Debug还是release模式,shader的Debug方式是很慢的。


另外不用shadowmap渲染整个场景就只有70-80FPS了,说明你的场景本身也很复杂,说不定并不是显卡,而是你的CPU吃不消,去掉复杂的场景看看,测试一下性能瓶颈到底在哪里

5

主题

686

帖子

697

积分

高级会员

Rank: 4

积分
697
QQ
发表于 2007-9-1 09:42:00 | 显示全部楼层

Re: Re:为什么我的ShadowMap暴慢啊?

horeaper: Re:为什么我的ShadowMap暴慢啊?

我用的Retail……
现在大概找到问题了,注释掉Shader中过滤的部分,速度立刻翻倍,但是效果……



LZ原来说没有做过滤的……-_-
做过滤要采样FP32贴图4次,当然会慢死的……
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-19 07:46

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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