tayuzheng 发表于 2009-10-8 10:41

DirectX 11威力释放!HD5850实战完全硬件加速的DX11新特性

从微软放出DX11 SDK预览版以来,DX11诸多的新特性就吸引着每一位玩家和开发者。可惜没有DX11硬件时,只能使用参考硬件来体验新API的强大功能。即使使用GTX285这样强大和先进的显卡,也只能跑出零点几帧的可怜成绩。

现在好了,AMD发布的HD5800系列显卡在第一时间硬件支持了所有DX11的新特性。马上就可以释放DX11的强大动力!


DirectX11的运行时随Windows 7正式版发布。DirectX 11要求使用WDDM驱动模型,所以XP用户仍然与之无缘。而Windows Vista的用户则可以通过安装DirectX可发行包安装。这次我就使用Windows 7来体验拉。所有的例子来源于Direct X SDK 8月版。


首先使用CapsViewer来查看显卡支持的DX11特性。http://yp.qihoo.com/pic/2901c3q1c2e.png

我们可以看到,5850支持DirectX 11所有的特性。与参考硬件完全相同。这说明所有DX11的特性都可以获得完全的硬件加速!下面分别测试一下Direct X 11最重要的新增特性。

1。曲面细分(Tessellation)
曲面细分是一种模型增强技术。将模型分解成基本的小块再镶嵌到一起。整个过程DX提供了完整的支持,包括新的Hull & Domain Shader。使用曲面细分可以对物体的显示效果进行细致的分级,适应不同硬件的效果。
下面是一个曲面细分处理的岩石效果例子。首先不使用曲面细分,而采用传统的凹凸贴图。
可以看到凹凸贴图的立体感很差。物体转动时就完全显露的平面的本质:
http://p.qihoo.com/pic/2d02138q5bce

采用位移贴图的效果:
位移贴图能让顶点产生位移的效果,与凹凸贴图相比位移贴图明显更加真实了。但是位移贴图不能对物体的边缘进行处理,一看边缘,平面本质就显露无遗。而且MSAA对位移贴图的效果也不好,狗牙很明显:
http://p.qihoo.com/pic/2d02a49q5b30

使用曲面细分,我们看到了一个完美的解决方案。物体的立体感一直延续到边缘。同时抗锯齿工作得也很好。效果如下:
http://p.qihoo.com/pic/2a02b49q5b31

如果显示模型框架的线条,我们就能看到曲面细分正在发挥作用。
http://p.qihoo.com/pic/2601817q5eba

调节镶嵌指数(Tessellation Factor)能够改变曲面细分的细节,但是调高镶嵌指数对性能的影响不小。

用曲面细分可以对粗糙的模型框架进行加强。比如下面的例子:
不使用曲面细分的效果:
http://p.qihoo.com/pic/2901462q5e85

使用曲面细分:
可以看到之前多边形不够造成的生硬感都得到了改善

http://p.qihoo.com/pic/2702f2cq5acd

2. Compute Shader
Compute Shader可以说是DX11引入的最重要的特性。他可以直接利用GPU进行高度并行的数学运算。之前的显卡编程都限制在对渲染的控制,而CS则完全解放了这种能力,让GPU运算得以使用在任何地方。

下面的例子采用ComputeShader来模拟多体粒子系统在引力作用下的运动情况。使用5850的CS进行计算,效果非常流畅,达247FPS。
http://p.qihoo.com/pic/2001abq5ea3

使用DX10 API时,因为没有ComputeShader,只能用Pixel Shader和Geometry Shader来运算。这些Shader不能进行通用计算,因此要一次得出最后的结果,计算更加复杂,比DX11 CS的实现慢100FPS
http://p.qihoo.com/pic/2b02b29q5cbc

使用CS计算的HDR Tone Mapping。这里用CS发挥并行运算的效果,计算场景每一点的亮度。HD5850可以进行2700FPS的运算能力。而使用参考硬件的CPU模拟运算,仅能达到0.27FPS。差距之大非常明显!
http://p.qihoo.com/pic/2701762q5e86

CS还有一个重大的特性是他不必与渲染过程绑定,因此也就完全没有必要非用在图形应用程序不可。我们可以用它来进行通用计算,扩大GPU的使用场合!例如这个例子,采用GPU进行桶排序,对262144个数进行排序。GPU运算的结果和CPU完全相同。由于我还没有安装VisualStudio开发环境,所以不能对两者性能进行对比。以后我会补上这个比较。我个人希望厂商赶紧用这个特性来实现GPU加速的物理运算和AI运算,以及视频编码等任务。
http://p.qihoo.com/pic/2d02422q5c7e

3. OIT (次序无关透明)
借助ComputeShader,DX11可以实现次序无关透明。即物体不管以任何顺序进行摆放,GPU都能按照正确的前后关系计算透明。这个特性完全模拟了真实世界的透明行为。
不过OIT的例子是这些DX11例子中最吃GPU的一个了。这么小一个效果并不出众的演示,竟然只有7FPS不说,还把整个GPU耗的满满的,连窗口移动都不利索了!看来想要应用到游戏里还需要一些日子。
http://p.qihoo.com/pic/2f0151dq5f07

4. 多线程渲染
如今电脑都是双核四核了,游戏如果希望充分利用到CPU的多核特性,势必要增加多线程的应用。然而以前的DX对多线程同时进行渲染并没有充分的支持。许多游戏虽然利用多核进行逻辑处理,但仍然是单线程渲染的。
现在DX11完全支持多线程渲染了。我们看到5850使用场景多线程进行渲染的性能:大约77FPS
http://p.qihoo.com/pic/2601013q5ec1

采用单线程渲染仅有52FPS
http://p.qihoo.com/pic/280101eq5dc0

而另一块某品牌Direct X 10显卡进行多线程渲染不仅FPS没有任何提高而且还会让屏幕不时闪烁。可见多线程渲染是真正需要硬件支持的特性。

现在终于领略了DX 11的强大功能!http://www1.pconline.com.cn/itbbs/080506/old/emot//em201.gif看来5850的确不负众望,对DX11特性有上佳的支持。只是希望厂商们赶紧把这些特性用到游戏和应用程序里,这样我们就可以尽早享用了。


----pconline.com

huge_nebula 发表于 2009-10-8 11:04

在这样一个本本主义的中国

估计在10年后都不会有人用GT300的C++或者DX11的CS来编程

wmydt 发表于 2009-10-8 12:39

回复 2# huge_nebula 的帖子

有什么关系,反正我用的软件和游戏没几个是国内做的,国内用不用影响微乎其微。

rockh00 发表于 2009-10-8 13:00

Nv几时才支持这个DX11??? 不要输给ATI啊。。。

IronMartYn 发表于 2009-10-8 14:18

前几天的消息了:

明年春天的时候,AMD就会进行一次生产工艺的升级,从当前40nm更新至32nm,但目前还不清楚具体情况,很可能会针对Radeon HD 5800系列。

2010年第三季度,自从R600以来的全新架构变革到来。其实从目前的测试版驱动程序中就可以看到“R9xx”,表明AMD很可能已经完成了全新一代产品ASIC电路的设计,按惯例一般会在六个月左右之后流片,正好在明年第三季度推出。

xianran 发表于 2009-10-8 16:10

很好,很强大~很遥远

cs00622 发表于 2009-10-8 16:44

没有物理引擎,amd还是悲剧了,光靠dx11,是不行的

awefawef2 发表于 2009-10-8 17:59

不是说DX10的显卡也能运行DX11 嘛   只是效能低些??


其实DX11   最重要的就是   狠狠地鄙视了 CUDA 和 FIRESTEAM

awefawef2 发表于 2009-10-8 18:02

原帖由 cs00622 于 2009-10-8 16:44:00 发表
没有物理引擎,amd还是悲剧了,光靠dx11,是不行的


GPU 能做通用计算  就离物理引擎很近了...

在PPU之前  物理效果都是给通用计算的CPU 处理    现在GPU也能实现很多通用计算,物理加速这个说法很快就要被历史的车轮碾得粉粹了.

相信在未来的不久,没有谁去管物理加速了,物理效果理所当然的交给GPU处理.

tomoe520 发表于 2009-10-8 18:38

个人认为
物理加速就现在来说就是一炒作用的商业理念+忽悠人的玩意儿
实际作用不大

什么开启了帧数大幅提升
那全是驱动手脚

shaofufei 发表于 2009-10-8 22:20

ATI的物理加速技术更易应用(和CPU通用),当然和楼上说的一样,物理加速完全就是商业炒作。
如果将来还要出钱买一张物理加速卡,谁愿意?

11643608 发表于 2009-10-8 22:30

什么时候5800系列停产了,我就换新显卡,现在只能看着 流口水了。

767188098 发表于 2009-10-8 22:33

回复 11# shaofufei 的帖子

那个ATI的物理加速才刚提出而已   
ATI现在用的物理加速是英特尔的H什么的    是开放平台A卡N卡都可以CPU方面自然是英特尔的强U吃香   英特尔在一边暗笑   而买N卡就具有两种物理加速了
物理加速卡?现在谁还用啊      说的是用一张低端N卡做物理加速卡   要不就直接买高端N卡……

ZEROK9999 发表于 2009-10-8 22:41

反正N卡物理功能跟屎一樣~~~~~

767188098 发表于 2009-10-8 22:47

反正没人逼你用什么卡   爱用不用
DX11没啥新特效不过是提高效率而已    但说画面效果 DX9.0c就已经够了游戏主机不更新 PC游戏画面就别想更进一步
反倒是NV的GPGPU 通用计算这方面走在前头让显卡有了更多的应用 电脑的主要功能不是玩游戏没游戏的时候 独立显卡就是在浪费电而已

wmydt 发表于 2009-10-9 00:09

回复 15# 767188098 的帖子

多线程渲染和细分曲面不是新的?就算只是提高效率,那也有流畅和不流畅的区别吧。


通用计算普通用户有多少人用的到?对那些作图,做视频的到是有用,但你觉得做这些的人多还是玩游戏的人多。个人电脑不用来玩游戏的才是少数。而且现在的显卡都有闲置降频功能,你不会不知道吧,在运行非大型游戏或软件的时候,显卡会自动降低频率来降低功耗。


NV的卡功能多,但不是每个人都用的到,反而是成本和功耗增加了一大截。看看GTX285和GTX295的价格和功耗就知道了。说通用计算的时候问下自己,你用了通用计算的那个功能?
页: [1]
查看完整版本: DirectX 11威力释放!HD5850实战完全硬件加速的DX11新特性