游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3292|回复: 8

Render to texture 很慢的问题

[复制链接]

3

主题

38

帖子

38

积分

注册会员

Rank: 2

积分
38
发表于 2008-8-2 08:37:00 | 显示全部楼层 |阅读模式
我现在模拟2d烟的效果,需要每桢多次Render to texture,(因为需要用Jacobi求解线性方程组)
但是Render to texture特别慢,有谁知道是什么原因么?谢谢

我是仿照Gpu gem和render monkey的例子,这两个例子速度非常快,而且用128x128的texture,我用64x64的也非常慢。
我用下面的代码Render to texture
D3DXCreateRenderToSurface(gd3dDevice, mWidth, mHeight, mTexFormat, false, D3DFMT_D24X8, &mRTS);
D3DXCreateTexture(gd3dDevice, mWidth, mHeight, 0, usage, mTexFormat, D3DPOOL_DEFAULT, &m_divergence_texture);
m_divergence_texture->GetSurfaceLevel(0, &m_divergence_surface);

5

主题

755

帖子

757

积分

高级会员

Rank: 4

积分
757
发表于 2008-8-2 10:09:00 | 显示全部楼层

Re:Render to texture 很慢的问题

这怎么知道你慢在那里。。。。。你每帧都Create????

121

主题

2029

帖子

2034

积分

金牌会员

Rank: 6Rank: 6

积分
2034
QQ
发表于 2008-8-2 12:10:00 | 显示全部楼层

Re:Render to texture 很慢的问题

用两个纹理做 Ping Pong Idiom

3

主题

38

帖子

38

积分

注册会员

Rank: 2

积分
38
 楼主| 发表于 2008-8-2 20:20:00 | 显示全部楼层

Re:Render to texture 很慢的问题

没有每桢都create,只是在resetDevice的时候create
lingjingqiu:Render monkey是在做这个,我是直接swap texture 和 surface, 会因为这个慢么?

3

主题

38

帖子

38

积分

注册会员

Rank: 2

积分
38
 楼主| 发表于 2008-8-2 20:34:00 | 显示全部楼层

Re:Render to texture 很慢的问题

有什么针对render to texture 一般性的性能建议么?
我只知道用“D3DPOOL_DEFAULT”会比较快……

121

主题

2029

帖子

2034

积分

金牌会员

Rank: 6Rank: 6

积分
2034
QQ
发表于 2008-8-3 11:56:00 | 显示全部楼层

Re:Render to texture 很慢的问题

你看看是不是Jacobi的解收敛的慢。

36

主题

1047

帖子

1147

积分

金牌会员

Rank: 6Rank: 6

积分
1147
发表于 2008-8-5 22:54:00 | 显示全部楼层

Re:Render to texture 很慢的问题

rt 也只能创建在 default pool 上。

30

主题

357

帖子

388

积分

中级会员

Rank: 3Rank: 3

积分
388
QQ
发表于 2008-8-5 23:47:00 | 显示全部楼层

Re:Render to texture 很慢的问题

做个检测,看看是哪里占用的时间多。我怀疑你在某段循环中重复做了些事情。我经常这样...

19

主题

638

帖子

638

积分

高级会员

Rank: 4

积分
638
发表于 2008-8-6 15:28:00 | 显示全部楼层

Re:Render to texture 很慢的问题

楼主重复发帖啊,gamedev.net上也有楼主的帖
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-21 19:15

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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