感叹,ID3DXsprite的效率真是比DDRAW高太多了![em60]
http://hi.baidu.com/%C7%E5%CF%C4%C1%B9%B7%E7/blog/item/9e10a6dc452360a6cd11663c.html
感叹,ID3DXsprite的效率真是比DDRAW高太多了!为什么还有人说DDRAW比D3D模拟2D快?
个人感觉做2D游戏开发不要用DDRAW,而应该用D3D。
最开始,为了图方便所以学了DDRAW。但是学到一半才发现,原来DDRAW可以用到的硬件加速实在是太有限了!不说别的,就连2D游戏里最起码的Alpha Blend(透明合成)和rotation(旋转)效果都只能用CPU编码。就算用MMX汇编来优化,也总不可能比拟GPU的多重流水线吧?难怪DDRAW会被MS淘汰了,DDRAW已经过时了……
如果觉得D3D模拟2D需要做多余的3D计算是浪费,那我更觉得放着好好一块GPU不用,才叫浪费资源。
做个最简单的比较,在我电脑上用DDRAW绘制一张半透明640*480的页面,就可以把FPS从300降到50,再来一张那就不用玩了~~~~
而我用ID3DXsprite绘制一张半透明加旋转加缩放640*480的贴图,也不会对FPS有丝毫影响。
不过最让我奇怪的是,DDRAW的参数里明明有半透明和旋转,但是实际中却无法使用,真是有够忽悠人的&%¥……
其实EDX2D就是基于DDRAW的,所以在做透明合成和旋转的时候效率才会那么低,就十几帧%……
这不能怪E语言饿[em62]