教科书式演示!首款DX11测试程序解析
泡泡网显卡频道10月25日 作为基准的3D图形性能测试软件,Futuremark 3DMark系列的权威地位一直都牢不可破,它不但能够第一时间对新的API提供支持,而且在画面、美工、和系统需求方面都会超越同时代的任何一款游戏。
不过DX10版本的3DMark Vantage让人有些失望,很多游戏玩家认为3DMark Vantage虽然支持DX10、也极度消耗资源,但画面方面似乎还不如DX9C版本的3DMark06,根本无法同《Crysis》相提并论。而且3DMark Vantage未能与时俱进对DX10.1提供支持,却能支持PhysX物理加速卡,测试项目不够全面,令人遗憾。
当然3D图形测试软件不止3DMark这一款,也许很多人都没听说过Unigine Engine(虚拟现实引擎),但这家小公司一直在不断的努力并进步着,此前已经发布了诸多版本的Demo或者测试程序,第一时间对DX10、DX10.1提供支持并支持Benchmark模式,而且能够向下兼容DX9及OpenGL,为测试者提供多种画面对比和性能对比模式。
Sanctuary(庇护所DX10)和Tropics(热带小岛DX10.1)
现在Unigine Engine率先发布了首款DX11测试/演示程序——Heaven Benchmark,其中大量运用了DX11新增的技术和指令,看来在新版3DMark面世之前,Heaven将会是DX11性能测试的唯一选择。
Unigine Engine最新的DX11测试程序Heaven(天堂)官方画面
笔者第一时间下载了Heaven Benchmark,并对其进行了简单测试,发现它不仅仅是一款测试程序而已,更像是一本教科书式的DX11新技术实时演示,通过观察其震憾的画面,您会对DX11有一个全新的认识!
首先来看看首款DX11测试/演示程序Unigine Engine Heaven Benchmark官方公布的主要特性和技术:
- 支持DirectX 9/10/11、OpenGL
- 大量使用Hardware Tessellation(硬件镶嵌细分曲面)技术
- 高级SSAO(屏幕空间环境光遮蔽)
- 物理学精准算法生成的容积云
- 动态天空和光线散射
- 支持ATI Eyefinity多屏显示技术
- 行走、飞行交互式体验模式
- 基准测试模式
● 官方网站:http://unigine.com/download/
● 硬件需求:
- Tessellation技术需要DX11显卡(DX10/10.1都不支持)
- Radeon HD 2000、GeForce 7000系列或更好,推荐Radeon HD 4800、GeForce 8系列或更好
- 至少256MB显存
● 软件要求:
- .NET Framework 2.0 (Windows版本)
- OpanAL (Windows版本安装程序中自带)
- 最新稳定版显卡驱动程序
● 已知问题:
- [AMD] OpenGL模式下的Alpha测试有错误
- [AMD] OpenGL模式下景深效果不正确
- [NVIDIA] GeForce 7000系列显卡上色彩精度较低
● Unigine Heaven Demo/Benchmark下载:
目前仅有Windows版本,大小127MB
安装运行都非常简单,一路回车即可,注意一定要安装随程序自带的OpenAL驱动,并将DirectX和显卡驱动升级至最新版。
Unigine Engine Heaven Benchmark软件界面十分简单,但功能却比3DMark更为丰富,提供多种灵活的操作模式方便测试者使用,以下为程序运行界面:
- API:DX9、DX10、DX11、OpenGL四种模式
- Shaders:High、Medium、Low三档
- Tessellation:enabled、disabled,只有DX11显卡才能开启,进入游戏后可使用快捷键“F3”实时开启或关闭,方便对比画面差异
- Anisotropy:1/2/4/8/16五档,各向异性过滤
- Anti-aliasing:off/2x/4x/8x,支持三种标准的MSAA抗锯齿模式
- Full screen:选择以全屏或窗口模式运行
- Resolution:支持常见的4:3、16:9或16:10所有标准分辨率,还能手动随意设定分辨率值,支持多屏或超宽超大分辨率
设定好所有的模式后,点击RUN即可进入Loading界面:
程序在加载过程中,CPU只有一颗核心以100%负载运行(和3DMark加载时完全相同),因此Loading时间会比较长,如今您对CPU进行超频的话速度将会快很多,比如i7超至4GHz只需3-4秒钟就能进去。
在Loading界面上,该程序的常用快捷键功能都写的一清二楚:
- F2:开启关闭线框模式,与F3配合使用可查看模型复杂度
- F3:开启关闭Tessellation
- F4:改变镜头模式(默认、自由飞行、普通移动)
- F9:运行Benchmark测试程序
- F12:截图(目前第三方软件都无法截获DX11画面,因此内置的截图功能非常实用)
- 回车:切换至下一种镜头移动轨迹
- 空格:镜头移动暂停
- Esc:显示控制菜单
Loading结束后,进入3D运行界面,屏幕左上角有一些菜单:
- Settings:点它和按Esc都会调出控制面板
- Environgment:点它下方会出现24小时的时间轴,用以控制日出、灯光、阴影等天气实时变化情况
- Camera:三种镜头模式切换
- Sound:开启或关闭音效
- Benchmark:点它和F9都会开始自动测试程序
- Quit:退出程序
上图就是通过Esc或Settings调出的控制面板,大多都可以通过快捷键或菜单来实现,下面就正式进入测试环节,看看这个“天堂”到底有多美丽。
由于DX11模式下无法录像,所以笔者只好退而求其次,使用DX10模式将Heaven Benchmark的全程记录了下来,大家先看看风景和光影效果,关于DX11所带来的新特效,后文我们再做详细的对比分析。
在看完Heaven之后,我们可以回顾一下它的前作Tropics,将DX11和DX10.1两款Demo做个简单对比,虽然场景变化很大,但很多特效和技术都是继承发展而来的。
Tropics展示的是几个小岛,主要突出全局光照和水面透反射效果,而Heaven则升级成为漂浮在空中的小城,全局光照和体积云雾得到了完整保留,此外使用最多的技术就是DX11当中的Tessellation(镶嵌式细分曲面技术):
由于之前的视频使用DX10模式录制,Tessellation技术没能体现出来,所以只能通过官方提供的这段演示动画来展示给大家看,接下来就通过大量高清截图来详细解读Tessellation的魅力,虽然是静态图片,但要比视频更清晰直观!
● Tessellation效果对比一:怪兽造型更威猛
开启Tessellation后,翼龙身体上的“斑点”变成了“尖刺”,虽然只是一座雕像而已,但怪物明显变威猛了许多。身体各部位包括尖刺的平滑过渡都十分自然,让人找不出任何模型设计的缺点,看来Tessellation自动插入顶点并细分曲面在实际应用中相当智能。
上面的GIF动画只是截图的一小部分,1920x1080全尺寸画面如下所示,建议大家点击放大仔细对比开启Tessellation前后的差别:
通过线框模式可以直观的看出,Tessellation的确让物体模型复杂了数十倍甚至上百倍,由此才得以获得如此精密的细节。而且Tessellation不仅仅是对巨龙的身体有效,周围环境中的很多景物都不同程度的得到了提升,下面我们接着看其它方面的效果如何。
● Tessellation效果对比二:凹凸立体感更强
在这幅图中,大家注意观察左侧的墙壁(以及凸出石块的阴影)、右侧的台阶和下方的鹅卵石路,关闭Tessellation时,石块间的缝隙使用传统的视差映射贴图技术渲染而成,也有一定的立体效果,但不够明显,而且缝隙间不存在真正的阴影。视角拉的很近的话,立体效果就会消失,因为那只是欺骗人眼的贴图而已。
而Tessellation技术生成的是实实在在的顶点和曲面,所有的岩石、台阶和石块都是独立存在,而不再是平面上的虚拟贴图而已。一经对比,视觉反差十分强烈!
由于画面内石块数量太多,Tessellation生成的所有物体都需要被重新渲染和投影,因此性能损失还是很大的。大家可以点击放大1080p截图观察右上角的实时帧数,HD5870关闭Tessellation时是35帧,开启后只有23帧了。
● Tessellation效果对比三:虚假贴图终结者
传统的屋顶瓦片就是“纸糊”的,类似与生活中用于糊墙的“砖纹、木纹”墙纸,远看还行近看一点立体感都没有,连小孩子都骗不了。经过Tessellation技术处理后,凹凸不平、错落有致的瓦片震撼登场!
显然,这个屋顶瓦片效果要比前两个场景更加夸张,给人极强的视觉冲击!看来Tessellation技术虽然不是功能较多的,但其用途也是非常广泛,至少可以完全取代各种各样“骗人”的贴图技术了!
● Global Illumination,全局光照效果
在Heaven之前,DX10.1版的Tropics就已经使用了全局光照技术,这项技术不是DX11和DX10.1的专利,Crysis也大量使用。但具体实现的效果如何,还得靠游戏引擎和代码的优化,但不可否认的是,DX10.1和DX11效率会更高、而且实现起来更容易。
下面就来看看Heaven Benchmark的昼夜光照效果,是否接近现实世界?拖动Environgment菜单下方的24小时时间轴,就能看到实时平滑过渡的光照效果,当然在Benchmark演示中也是完全穿插进行的。
在CPU或GPU有能力进行实时光线追踪运算之前,Global Illumination全局光照技术依然是非常好的的解决方案。从DX10到DX10.1再到DX11,很多Shader指令都是针对屏幕空间差值操作进行优化,从而进一步改进效果,并提高运算效率,平衡Shader和光栅化的负载,消除瓶颈。
如今流行的SSAO、HBAO和HDAO都是基于全局光照技术的分支或者变种,也是DX10.1和DX11效率改进最核心的技术。
● Depth of Field,景深效果展示
在HD5800发布时,AMD就展示了DX11 DirectCompute的一项应用——渲染后处理器之景深,通过官方介绍来看,使用DX11之后的景深特效消耗资源更少,而且清晰与模糊处理的过渡会更加和谐自然,还能消除前代出现的锯齿或者反差太明显的不合常理的现象。
Heaven Benchmark中,在镜头切换时大量使用了景深效果,DX9、10、11模式下都支持,如果仔细看的话画面有所不同,DX11明显更接近于摄像机对焦的效果:
焦点对准翼龙,背景被虚化,注意看远近不同的话,虚化的程度差别很大,完全符合人眼和镜头的透镜成像原理。
这几张截图的景深效果非常显著,完全就像是大光圈镜头拍出来的照片。
● 物理学烟雾:
流体烟雾也是物理效果的一种,比如《蝙蝠侠:阿卡姆疯人院》中PhysX只开中等的话,主要的物理效果就是雾气。Heaven只是一款演示程序,无法进行互动,因此我们未能体验它的烟雾与气流或者人物的交互效果到底如何,不过静态的自由烟雾渲染效果还是很不错的。
● 完全交互式的阴影投射:
树木投射在草丛中的阴影,和直立的草丛互相干涉,再现了真实世界的投影
● 精细的纹理贴图
进入DX10时代之后,游戏中的纹理贴图分辨率越来越大,细节趋于完美,Crysis、COJ、Stalker等游戏的纹理已经不输给上图中的截图了。
Heaven中的纹理贴图虽然相当精细,但也有缺点,当遇到夸张的Tessellation凸出或者凹陷物时,该位置的纹理贴图会产生剧烈拉伸,类似于断层效果,有些画面可以蒙混过关有些看上去不太协调,看来Tessellation插入顶点的高度或深度不宜太大。
● Heaven Benchmark测试成绩对比:
由于时间有限,笔者只用HD5870进行了测试并截取大量高清截图,未能进行主流显卡之间的性能对比测试。所以最后引用国外网站的测试成绩来看看主流中高端显卡的性能表现:
可以看出,打开Tessellation的性能损失还是很大的,HD5870下降了38%,HD5770下降了30%。如果抛开Tessellation技术不谈的话,DX11和DX10模式下的性能几乎没什么差别,在加强光影效果的同时反而有微弱的性能提升。两款N卡的DX10性能还是相当不错的,但它们都体验不到DX11效果。
● 总结:Tessellation大放异彩
在首款DX11游戏《BattleForge》中没有体现的Tessellation技术,在Heaven Benchmark中完全就是教科书式的演示,ATI苦心研究多年的Tessellation技术终于开花结果,这正应验了那句老话——是金子总会发光的!
即将发布的几款DX11游戏,将会完全基于Tessellation技术构建——《潜行者:普里皮亚季的呼唤》、《科林麦克雷:尘埃2》、《异形大战铁血战士》这三款大作已经放出了不少截图和视频,用以展现Tessellation所带来的逼真效果。
在DIRT2中,Tessellation技术的应用甚至比Heaven Benchmark还要彻底,随风飘扬的旗帜、互动的水面(两项技术几乎都可以取代物理引擎了)、还有呐喊的观众……全面使用Tessellation技术构建,动态逼真的画面超越了以往任何一款赛车游戏!
DX11和Tessellation距离大规模实际应用已经非常近了,很快HD5000系列将会大展拳脚,释放出新一代DX11显卡的威力!■<