首款DX11测试Demo深度体验

硬用360度

说起3D图形测试软件,很多人会想到大名鼎鼎的3DMark系列。其实,除了3DMark之外,在游戏领域小有名气的Unigine也经常发布Demo或测试程序。就在上周,它就率先发布了首款DirectX 11测试程序——Heaven(天空)。下面就让我们一起揭开它神秘的面纱。

初识Unigine Heaven Demo

要运行这个Demo,官方建议使用Radeon HD 4800、GeForce 8000系列显卡,显存至少为256MB。不过,这样的配置只能看到DirectX 9或者DirectX 10的画面效果,这里我们使用硬件支持DirectX 11的AMD Radeon HD5850显卡来进行画面展示。软件方面,需要内置DirectX 11的Windows 7操作系统,还需要.NET Framework 2.0和OpenAL,这两个软件也是最近流行游戏都需要的。Unigine Heaven Demo/Benchmark下载地址为:http://unigine.com/download/files/Unigine_Heaven-1.0.msi

Unigine Heaven Demo的安装很简单,运行界面也是设置界面。API可以选择DX9、DX10、DX11、OpenGL四种模式,其中DX9、DX10模式无论是画面效果还是运行速度都差别不大,而DX11模式则是画面质量最高,差别也最大的模式;Shaders等级分为High、Medium、Low三档;Tessellation效果可以设置enabled、disabled(也只有DX11显卡才能开启),进入游戏后还可使用快捷键F3实时开启或关闭,很方便进行画面的对比;Anisotropy(各向异性过滤)分为1/2/4/8/16五级;Anti-aliasing(抗锯齿模式)可以设定关闭或者2×/4×/8×;Full screen可以选择以全屏或窗口模式运行;Resolution(分辨率)支持常见的4∶3、16∶9或16∶10等所有标准分辨率,还能手动设定分辨率值,支持多屏模式。设定完成后点击“RUN”即可进入Loading(载入)界面,载入结束后进入Demo画面,此时在屏幕左上角可以看到菜单。

43-d15-1.jpg
43-d15-bg1.jpg

全面剖析《天空》画面特效

程序描绘的是一个飘浮在天空中、由数个小岛组成的天堂小镇,有巨龙雕像、风车、教堂、街道、广场,还有葱葱的树林和连接小岛的吊桥。程序开始后,会有若干小型场景依次演示这些内容,这些场景包含了不同时间、不同角度、不同路线,分别强调了多种特效。

43-d15-2.jpg
43-d15-3.jpg

关闭Tessellation时(上图),城镇中央巨龙身上仅可看见一些骨骼“斑点”。而打开Tessellation后(下图),发现这些“斑点”是巨大的凸出骨刺。另外,巨龙身体各部位的过渡都十分自然,看来Tessellation自动插入顶点并细分曲面在实际应用中相当智能。

43-d15-4.jpg
43-d15-5.jpg

这两张图是近处观察街道围墙的对比图,上图使用了传统的视差映射贴图技术,远处看立体效果也不错,但如果将视角拉近或者走近观察,就会发现它本质上仍是一幅平面贴图。而打开Tessellation后(下),所有的石块都凹凸不平,还有影子,是真正的3D模型。

43-d15-6.jpg
43-d15-7.jpg

这两张屋顶的线框图对比更说明了问题,在未开启Tessellation时屋顶是平面(上图),只使用寥寥无几的框架模型,而开启Tessellation之后线框密度迅速增加(下图),这也说明多边形数量急剧增加,这些都是Tessellation自动生成的。由于Tessellation生成的是真正的3D模型,所以打开Tessellation后程序的运行速度会明显减慢。

43-d15-8.jpg

这是景深效果展示,它是利用了DirectX 11的DirectCompute来生成的景深效果,和以往的技术相比,使用DirectX 11之后的景深特效消耗资源更少,清晰与模糊的过渡显得更加自然。另外,随着视线焦点的变化,景深效果也在自然变动。

43-d15-9.jpg

这个场景展示了在24小时内,光线随着日升、日落而发生的直射、折射、反射及阴影的变化。Demo使用了高级SSAO(屏幕空间环境光遮蔽)技术,虽然该技术在DX10.1中就有,但借助DX 11新的指令集其执行的效率更高。

43-d15-10.jpg

这张截图展示了极佳的阴影效果,不仅树叶投射在房子上的阴影是片片独立的,而且投射在草丛上的阴影还可以在独立的草上单独画出阴影线,斑驳交错,很生动。

测试结果分析

在采用Core i7处理器(超频到3.4GHz)、X58主板、DDR3内存2GB×3、Windows 7操作系统(64位)的平台上进行对比测试,安装了催化剂9.10驱动程序。另外分辨率设为1680×1050,开启4×MSAA和16×AF特效。

从测试结果来看,使用Tessellation后系统资源消耗还是很大的,HD5870会从开启前的50帧/秒下降到31帧/秒,速度下降了39%,而HD5770则从27帧/秒跌落到18.7帧/秒,下降了30%。其实这完全可以理解,Tessellation实质就是通过细分曲面技术,大幅度增加三角形数目,提高模型精度,这必然会给显卡带来更大的运行压力。所以要想使用Tessellation技术,一款中高端的显卡必不可少。

结语

可以说,Heaven这个演示和测试Demo把 DirectX 11的主要技术特性展示得淋漓尽致,尤其是Tessellation的使用到了夸张的地步,它向我们展示了未来DirectX 11游戏可以达到的高度。