3DMGAME 3DM首页 新闻中心 前瞻 | 评测 游戏库 热门 | 最新 攻略中心 攻略 | 秘籍 下载中心 游戏 | 汉化 购买正版 论坛

注册 登录

QQ登录

只需一步,快速开始

查看: 19929|回复: 15
打印 上一主题 下一主题

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

[复制链接]

32

主题

3460

帖子

8357

积分

游戏精英

Rank: 8Rank: 8

贡献度
1316
金元
30929
积分
8357
精华
0
注册时间
2008-1-11
跳转到指定楼层
主题
发表于 2009-10-8 10:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
从微软放出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特性。


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

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



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



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



如果显示模型框架的线条,我们就能看到曲面细分正在发挥作用。



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

用曲面细分可以对粗糙的模型框架进行加强。比如下面的例子:
不使用曲面细分的效果:



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




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

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



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



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



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



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



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



采用单线程渲染仅有52FPS



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

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



----pconline.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|3DMGAME ( 京ICP备14006952号-1  沪公网安备 31011202006753号

GMT+8, 2026-5-12 05:42 , Processed in 0.032390 second(s), 16 queries , Memcached On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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