游戏开发论坛

 找回密码
 立即注册
搜索
12
返回列表 发新帖
楼主: snakelp

高手们来介绍一下提高D3D速度的方法啊

[复制链接]

22

主题

128

帖子

134

积分

注册会员

Rank: 2

积分
134
 楼主| 发表于 2006-6-3 15:44:00 | 显示全部楼层

Re:高手们来介绍一下提高D3D速度的方法啊

问题已经解决!请允许我表达一下我现在的心情,爽!

我在网上找破头皮也没找到让 Surface8 去掉背景的方法,也有一些说的,但都含糊其词,就是不想告诉你嘛。最后无奈,既然不能让 Surface8 透明,那就研究一下提高 Sprite 效率的方法吧。经研究发现,原来是我在程序中的一个小错误导致FPS大幅降低。改进代码后,全部用 Sprite 画,FPS 70 多。然后我又改用 Surface8 画地表(地表不需透明),用 Sprite 画地面上的附件,FPS 90 多。这样速度再也不是问题了,看来解决问题还是得靠自己啊。

20

主题

451

帖子

470

积分

中级会员

Rank: 3Rank: 3

积分
470
发表于 2006-6-3 19:56:00 | 显示全部楼层

Re:高手们来介绍一下提高D3D速度的方法啊

去背景不是要你在dx里面设置什么啊,而是要使用带Alpha通道的图像,这样格式就有一定限制了,比如32位的BMP,DDS,PNG之类格式,JPG不支持Alpha通道。然后把原来的图片用Photoshop之类的软件制作Alpha通道,然后在DX里面直接调用就好~
我不知道带d3d8,我只知道如果是d3d9的话要给Device做下面的设置:
MyBase.m_device.m_device.SetRenderState(RenderStates.AlphaBlendEnable, True)
            MyBase.m_device.m_device.SetRenderState(RenderStates.AlphaTestEnable, False)
            MyBase.m_device.m_device.SetRenderState(RenderStates.SourceBlend, 5)
            

20

主题

451

帖子

470

积分

中级会员

Rank: 3Rank: 3

积分
470
发表于 2006-6-3 19:59:00 | 显示全部楼层

Re:高手们来介绍一下提高D3D速度的方法啊

叫你不要用colorkey的原因看下面的截图:

你用Colorkey永远别想做出这里面这个法师的魔法效果。

22

主题

128

帖子

134

积分

注册会员

Rank: 2

积分
134
 楼主| 发表于 2006-6-3 21:08:00 | 显示全部楼层

Re:高手们来介绍一下提高D3D速度的方法啊

ColorKey仅仅适用于简单的去背景图象这个我当然知道,我已经做了3个游戏了(游戏虽少,但绝无垃圾),这一点我相当清楚。只要做过游戏的人,我想都明白。要想做好魔法效果需要半透明混合,我也知道。但是你们有几个能帮助我解决实际问题的?
liiir1985 这个兄弟的代码可行性我暂且不说,如果我不说我已经解决问题,你能说这些吗?
中国的游戏为什么发展慢?环境问题不可小视,都不想把自己的东西很容易的教给别人。这也算正常吧,如今都是市场经济,谁愿意免费为人做事啊,哎 …

20

主题

451

帖子

470

积分

中级会员

Rank: 3Rank: 3

积分
470
发表于 2006-6-5 02:01:00 | 显示全部楼层

Re: Re:高手们来介绍一下提高D3D速度的方法啊

liiir1985: Re:高手们来介绍一下提高D3D速度的方法啊

nocture说得是正解,我得图形引擎也是通过VertexBuffer做的,我当时用500个带Alpha混合和Pixel Shader的帧动...


我上面的帖子已经说了,如果你需要,我会公开相关代码,不过你并没说你要要啊~

不过倒是有另外一个朋友问我要了相关代码,关于vertexbuffer的创建和渲染

0

主题

62

帖子

62

积分

注册会员

Rank: 2

积分
62
发表于 2007-4-4 20:08:00 | 显示全部楼层

Re:高手们来介绍一下提高D3D速度的方法啊

一次DrawPrimitive多绘制点,至少保持100个以上

32

主题

1583

帖子

1589

积分

金牌会员

Rank: 6Rank: 6

积分
1589
发表于 2007-4-8 22:54:00 | 显示全部楼层

Re:高手们来介绍一下提高D3D速度的方法啊

LS是打捞队员啊。。。

15

主题

363

帖子

390

积分

中级会员

Rank: 3Rank: 3

积分
390
发表于 2007-4-9 15:04:00 | 显示全部楼层

Re:高手们来介绍一下提高D3D速度的方法啊

FPS 100多……LZ用的不会是GF2吧?

15

主题

2093

帖子

2093

积分

金牌会员

Rank: 6Rank: 6

积分
2093
发表于 2007-4-9 16:22:00 | 显示全部楼层

Re: Re:高手们来介绍一下提高D3D速度的方法啊

noslopforever: Re:高手们来介绍一下提高D3D速度的方法啊

FPS 100多……LZ用的不会是GF2吧?

100多帧也合适了……
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-4-12 19:36

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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