决战性能之巅!NV双芯旗舰GTX590评测
虽然我们对欺实马没有办法,只能说声神马都是浮云。虽然我们推开两千块的房门连几毛钱的游戏都玩不安生,但可以聊以慰藉的是,我们每天都在享受科技进步所带来的各种便利。作为一名家用电脑的使用者,这种感受也许会更加明显和直接。从任天堂到次时代,从巫毒到GTX580,我们面前的屏幕从一个墨绿色小窗发展成了今天的LED显示器,显示的画面也从一个个像素游戏慢慢演变成了几乎可以以假乱真的拟真画面。而带动这些科技进步的正是图形芯片一日千里的发展。
泡泡网显卡频道3月25日 从2001年开始到现在,NVIDIA和AMD(ATI)两大图形巨头烽火已逾十年,而半年更新、一年换代也成为显卡领域的“摩尔定律”。而旗舰级显卡作为两大阵营最强3D图形性能的代表,肩负着展示技术、树立形象、打击竞争的特殊使命。每一次优异产品的对决都可以用惊天地、涕鬼神来形容!
随着图形争霸日趋白热化,晶体管的集成度已经逼近现有制造工艺所能承载的极限,再往上堆积,GPU核心的功耗发热将超出显卡的极限。于是采用GPU集联技术的双核心显卡粉墨登场,给我们带来超越极限的巅峰对决!
每当改朝换代,新君登基之时,我们自然不会吝惜笔墨,这次的主角则是NVIDIA Fermi之绝唱,集成完美双GF110核心的王者GTX590——
一款最近接不可思议的显卡发布了!
1.1 比较独特!GTX590:NVIDIA 60亿晶体管单卡双芯卡皇降临
首先我们来看看NVIDIA的公版产品,作为NVIDIA目前最优异的型号,GTX590在硬件配备方面可以看成是将两片标准规格GTX580合二为一,搭载了两颗GF110显示核心,显存规格也是GTX580的两倍,达到3GB容量,流处理器则达到1024个。
一般来说,NVIDIA的高端产品一般都会搭载一款全覆式散热器,并使用涡轮风扇进行散热,而在GTX590上,一颗9扇叶风扇取代了涡轮风扇被安置在两颗显示核心中间,同时帮助两颗显示核心完成散热工作,黑色导流罩覆盖整个卡身部分,两端开有出风口,一部分热气流会被直接排出机箱,另一部分则会留在机箱内通过机箱风道自然流出。
以往我们总认为普通风扇会由于空气湍流问题在散热效能方面没有涡轮式风扇好,而这次NVIDIA恰恰在最优异型号上采用了普通风扇,其散热效能我们将在后面的满载温度测试中进行验证。
散热风扇两侧的显示核心上方各有一块真空腔均热板,铝制鳍片直接焊接在均热板上,做工看起来相当不错,这样一来,散热效率便更多取决于风扇效率。
拆掉散热器可以看到整齐排列在黑色PCB上的各种元件,最显眼的就是那两颗GF110显示核心了,每块显示核心周围的PCB正反两面各有6颗三星GDDR5显存颗粒,合计共有3072MB显存容量,默认核心/显存/Shader频率为608/3416/1215MHz,设定比GTX580稍低,这是充分考虑到散热和供电能力的做法,即便如此GTX590的功耗也达到365W,需要由两个8Pin口辅助供电。
为了同时支持两颗GF110显示核心运作,GTX590在供电模块共配备10相供电,并且使用了大量贴片元件,显卡背面可以看到众多钽电容和多层陶瓷电容,高品质用料保证了显卡工作稳定性。
供电部分旁边有一棵芯片非常显眼,这就是著名的NF200芯片,主要为两颗GF110显示核心提供SLI服务,到此为止,解决了供电、散热、协同工作等问题后,两颗GF110显示核心顺利完成合体。
上图中是显卡背面的元件分布,NVIDIA为左右两侧的核心与显存部分配备了金属背板,起到保护作用,同时辅助显存散热。显卡提供一个SLI接口,支持四路SLI。
相对GTX580,GTX590在接口方面增加了一个DVI口,形成三个DVI加一个Mini DP接口的规格,可以支持3屏显示以及3D立体幻境。
1.2 华硕GTX590
作为NVIDAI的一线合作品牌,华硕、索泰、七彩虹等品牌也都在第一时间发布了各种旗下的GTX590产品,下面我们就来看看首批曝光的各家GTX590显卡。
华硕的GTX590相对其他品牌送测的显卡来说包装有些寒酸,不过相信华硕会将最好的设计都留到玩家国度版GTX590中去,这样的话还是相当值得期待的。
由于显卡接口部分只提供DVI口和Mini DP接口,为适应更多用户的使用需要,华硕在包装内附赠了一个DVI转Mini HDMI接口和一个DVI转VGA接口,此外还有一个双六Pin转8Pin线,一些电源接口配置不足的用户会用得上。
1.3 索泰GTX590极速版
要最快最高效得提升单片显卡的性能就是采用旗舰双核设计,但是旗舰核心本身功耗较高,对于厂商来说要把两颗核心整合到一张PCB上,其难度之高可想而知。随着新一代GTX500核心的功耗得到较好的控制,第四代双核显卡也正式降临-GeForce GTX590。
GTX590极速版使用了做工上乘的铝质保险箱作为包装盒,搭配风格粗犷的银卡外卡通箱,外观极具冲击力,内卡部分使用防静电泡棉,打开犹如电影中的狙击枪保险箱,只是狙击枪变成了玩家手中的显卡。保险箱内含一个索泰定制的军牌编号和显卡SN条码,限量上市100片,彰显其定制限量的珍贵。
GTX590极速版一改NVIDIA过去常用的尾端涡轮风扇设计,全新的中置风扇设计可以为两颗GTX 500核心实现同时散热,最大化的利用中置风扇带来的高效能散热,优雅的外观设计只需占用双槽空间,为组建Quad SLI奠定了基础。
GTX590极速版采用12层2盎司11寸(30CM)PCB,由于刻意将显卡的体积控制在双槽范围内,元件的使用非常高档和尽可能缩小体积,大量使用贴片高分子聚合物电容和小体积电感,整体元件数量极多!双8PIN电源接口处拥有power Monitor电路,能更好的控制显卡总体功耗。
PCB背面最疯狂的要数数量较多的贴片聚合物电容和MLCC电容,密密麻麻的集中在供电电路的输出滤波上,可谓不惜工根本。另外12颗GDDR5显存会使用一体式散热片辅助散热,同时避免超长的PCB出现变型情况。
采用了两颗最新步进编号为GF110-351-A1 40nm工艺的核心。这款核心的规格和目前市场上的GTX580规格完全相同,拥有512个流处理器,支持384bit显存带宽。3D Vision surround、PhysX物理加速和CUDA通用计算三大法宝大大扩展了显卡应用范畴。
整个显卡采用了24颗0.4ns GDDR5显存,组成破纪录的3072M/768bit恐怖规格,海量的显存容量,即使在最苛刻的2560*1600 8AA模式下也可以流畅的运行DX11游戏,默认频率607/1215/3400MHz,略微保守的频率设定为发烧玩家留足了超频空间。
采用超高转换效率的二代数字供电,CHL8266数字PWM为每个GPU核心提供5相供电,采用英飞凌最新推出的TDA21211 DrMOS,整合高性能MOS和Driver从而大大节省了占用面积,单相提供超过40W的输出能力;显存部分2相设计足以满足12颗显存的使用需求。配合PowerMonitor电路,可以更精准的实现功耗控制。
双核单卡的实现关键所在-NF200,NF200拥有48条PCI-E通道,它负责构建显卡内部的SLI功能,使两颗核心都能以全速PCI-E X16运行,避免出现性能瓶颈。
真空腔均热板的作用类似于一个巨大的热管,传热性能极高,能快速将核心的瞬时热量传递到鳍片中。致密的散热鳍片与底部的真空腔均热板浑然一体,形成一个超大面积的散热整体,无需过高的风扇转速即可让两颗GTX500核心保持在较低的运行温度。
屏蔽完备的显示输出部分电路,提供3*DVI+Mini HDMI,GTX590极速版和旗舰GTX580相比最大的改进就是单卡即可实现3D Vision Surround,无需再组双卡系统。
为隆重其事,凡购买GTX590极速版的玩家索泰都将赠送终生白金会员资格,成为索泰历史上首批白金会员,享受众多专属的购卡优惠;只需填写包装中的临时会员卡,然后将资料寄回索泰公司,索泰将玩家的专属会员卡和一个价值218元朗琴天梭T6微型音响赠送到你手中。
1.4 映众旗舰级GTX590
映众(Inno3D)GeForce GTX 590完全基于公版设计,采用NVIDIA最新的40nm制造,板载两颗GF110-351-A1核心,配备了1024个CUDA处理器,能完美支持DirectX 11标准!显卡搭配最新的GDDR5显存,显存位宽为384Bit。技术规格方面,GTX580完美支持DirectX 11,CUDA,PhysX,3Way SLi,3D Vision,PureVideo,OpenGL 4.1,Two dual-link DVI-I以及mini HDMI 1.4等。
显卡采用NF200-P-SLI-A3做为桥接芯片,此前GTX295就是采用这个方案。NF200-P-SLI-A3芯片能够提供16条PCI-Express Line,也就是说在单PCB内部为两颗G200核心提供双x8的PCI-Express通道,同时组建SLI模式。另外,显卡还配备了一个Sli接口,支持显卡组建Quad Sli系统。
映众(Inno3D)GeForce GTX 590显卡板载高达3GB海量的GDDR5显存,位宽为384Bit *2,核心与显存频率分别为607/3414MHz,玩家还可以进一步挖掘其超频潜力。当然,对于这样的优异卡皇而言,频率已经不是影响性能的最重要因素。
为保证强劲的性能,映众(Inno3D)GeForce GTX 590显卡为每个核心提供了5+2相供电,强大的供电和稍低的频率给玩家预留了很大超频空间。对于优异卡皇而言,其用料自然非常奢华,包括日系三洋电容,铁素贴片式电感以及8脚MOS管,属于军工级别的用料水准。此外,显卡还需要两个8 Pin的外接供电,功耗方面,显卡的TDP为365W。
映众(Inno3D)GeForce GTX 590显卡采用全公版散热设计,充分保证核心及显存等组件的散热效率。与GTX580类似,映众(Inno3D)GeForce GTX 590显卡配备的是均热板散热方案,相比传统的热管方案,采用均热板的好处是具备扩展热阻低,均匀的热通量、热量扩散快速、重量轻等诸多优点。风扇设计在两个核心中间,可以及时带走热量。当然,对于玩家们而言,大家更期待于采用更豪华散热设备的冰龙版本。
接口部分,映众(Inno3D)GeForce GTX 590显卡配备了三个DVI接口以及一个mini Displayport接口,理论上至少支持4屏显示。完全可以满足高端玩家对于输出的苛刻需求。
1.5 七彩虹iGame590
作为NVIDIA亚太区合作最紧密的AIC之一的七彩虹,在第一时间获得了首发权,接下来,让我们看看七彩虹的iGame590-GD5 CH版 3G的真容。
iGame590基于NVIDIA公版设计,采用了两颗目前NVIDIA面向零售市场基于Fermi2.0架构的优异芯片GF110,装备了1024个CUDA Core(流处理器)、96个ROPs、128个纹理单元,组成了恐怖的2×384bit的显存带宽。而对之前发布的GTX580,它拥有512个CUDA Core(流处理器)以及384bit的显存位宽,对比GTX580的规格我们可以看到,GTX580的规格正好为它的一半,所以我们是否能够理解为GTX590就是双GTX580呢?
两块核心均采用5相供电,显存部分则分别采用两相供电,这和GTX580的供电设计有异曲同工之妙。把整个10+4相供电做在一块PCB上,不得不惊叹其鬼斧神工的设计。
PCB的设计虽然有独到之处,若不能有效解决散热问题,那也无法成就“卡皇”。下面让我们看看iGame590是如何解决它的散热的。
首先,iGame590的涡轮式风扇置于中间,左右芯片有独立的散热模组。这种设计让我们首先想到两年前的GTX295单卡双芯的设计。涡轮式风扇的优势是能够有效解决风道定向和风压的问题。利用散热器的风道,将冷风抽进两遍的散热模块。
其次,iGame590的针对核心的散热部分采用均热板。这种均热板与在GTX580上采用的如出一辙,配合紧密在均热板上的散热鳍片,能够有效的将核心的热量迅速导出。
iGame590的输出接口包括3个双链路DVI接口和1个Mini DisplayPort接口,供电采用双8-pin接口
附件方面,iGame一直秉承着玩家·定制概念,为用户提供丰富的附件,让用户体验DIY的乐趣,除必要的显卡链接附件外,还提供功能丰富的iGame伴侣。
1.6 铭瑄GTX590
虽然GTX590的消息由来已久,但NVIDIA在这款产品的上的保密工作做得相当到位,在之前详细规格还不得而知,大家纷纷猜测究竟是GTX580×2还是GTX570×2。在3月24日,作为NVIDIA国内紧密合作伙伴,铭瑄在发布当日第一时间为大家带来了最新的GTX590终结者,并为大家逐一揭示优异神器的详细规格。
铭瑄GTX590终结者采用两颗完整GF110 GPU核心,每一颗芯片都是经过特别挑选,以确保高品质和可靠性。GTX590拥有高达1024个统一流处理器、128个纹理单元、96个ROP单元、2×384-bit 3GB GDDR5显存,你可以简单理解为GTX580×2,热设计功耗为360w,考虑到其为双核心显卡,对比起GTX580/570的热设计功耗244W和219W,显然要节能得多。
铭瑄GTX590终结者核心/显存频率设定为607/1215MHz,板载24颗三星极速0.4ns GDDR5显存,显存容量达到了3GB,位宽为2×384-bit,这样的规格性能即使面对3连屏超高分辨率输出,依然可以保证全特效运行游戏的高流畅度。
一体化散热能够最大限度确保显卡散热效能呢,每一个核心配备独立的真空均热板散热片,而风扇安置与上盖呈现阶梯式设计,这样设计有点在于组建SLI双卡系统时保证主卡散热能够获得充足的空气摄入量。
输出接口方面,配备3个Dual link DVI,1个mini DisplayPort,由于是双芯架构,因此铭瑄GTX590终结者铁定支持NVIDIA Surround三屏环绕功能。
1.7 盈通GTX590
知名厂商盈通今日却抢先发布了盈通GTX590豪华版,相信这让期待已久GTX590的Nfan们激动不已,盈通GTX590到底啥样?
首先我们从外观上来做个直面对比,在PCB长度方面,GTX590 PCB要比早前AMD发布的6990短了5CM。但是就实际测试的功耗和热量却要比6990低了些许。
盈通GTX 590基于公版设计,采用两颗GF110 GPU核心,而且每一颗芯片都是手工精心挑选,确保高品质和可靠性。该卡显卡频率/核心频率为607/1215Mhz,拥有1024个流处理器、128个纹理单元、96个ROP单元、2×384-bit 3GB GDDR5显存,两个8pin辅助供电接口。特别值得一提的盈通GTX590功耗为365W,并非之前有传说的400w那么高。
盈通GTX 590运行起来并没有那般吵闹,性能则完全满足《Crysis 2》在3D立体模式下的流畅游戏。GTX 590需要双8pin辅助供电,发热量也相当可观。
[图片4][图片5]
专为发烧级玩家量身打造的静音散热!特别值得一提的是,这款卡皇级别的显卡性能惊人,然而噪音并不大
1.8 剑锋所指:三大双芯显卡同台登场
GF110核心要比RV870复杂很多,NVIDIA居然将显卡长度和散热器体积控制的如此出色,着实难能可贵。GTX590比HD5970和HD6990身材更加苗条,可以兼容更多的机箱,而通过对比图可以看出GTX590的外观较NVIDIA此前的公版卡风格有了很大的变化,没有采用噪音大但是效率低的涡轮风扇。
GF110是由30亿颗晶体管打造的怪兽级核心,虽然使用了先进的40nm工艺,但功耗发热依然不低,使用单GF110的GTX580已然是旗舰级别。那么采用双GF110核心的显卡GTX590是否堪比哥斯拉?
双芯设计让GTX590拥有超过一公斤的分量,但相对同类产品,GTX590还算轻的,这得益于GTX590更高效的散热装置,那质量的变小是否也让它游戏表现打折呢?相必大家已经对这款显卡的3D性能迫不及待了,下面马上进入下一章测试环节。
2.1 测试平台介绍
为了让测试平台与今天测试的主角NVIDIA GTX590显卡相配,我们特意选择了目前比较高端的硬件配置与之搭配,确保能够最大化发挥出GTX590的实际性能,测试平台使用了Intel Core i7 2600K、共8GB DDR3 1600内存和一块来自华硕的P67主板,下面是具体配置和测试项目。
为能够全面衡量GTX590显卡的实际性能,我们不仅采用了多款权威测试软件检测显卡综合效能,还采用不同DirectX版本游戏来检验显卡在不同环境下的适应能力,同时,测试中还专门加入了Physx效能测试和CUDA转码效率测试,接下来就一起来看看GTX590显卡在实际测试中的表现吧。
2.2 DX10理论测试:《3DMark Vantage》
软件介绍:作为最权威的DX10条件下显卡性能测试软件,3DMark Vantage可以全面衡量显卡真实图形性能,已成为业内最普及的测试软件之一。如果您想知道自家电脑的显示性能,不妨用它来进行测试,和我们的测试成绩进行对比。
3DMark Vantage所使用的引擎在DX10特效方面和《孤岛危机》不相上下,但3DMark不是游戏,它不用考虑场景运行流畅度的问题,因此Vantage在特效的使用方面比Crysis更加大胆,“滥用”各种消耗资源的特效导致Vantage对显卡的性能压力大增。
画面设置:3DMark Vantage中直接内置了四种模式,分别为Extreme(旗舰级)、High(高端级)、Performance(性能级)和Entry(入门级),只有在这四种模式下才能跑出总分,如果自定义模式就只能得到子项目分数了。我们此次测试选择了Extreme(旗舰级)进行测试。
一片GTX580的性能已经十分惊人,让两块GTX580合体后又会怎样?在专门针对显卡DX10模式下图形性能进行测试的3DMakr Vantage软件对这一问题进行了充分说明,双GF110芯片的GTX590得分比单GF110芯片的GTX580提高超过55%,Extreme等级测试成绩接近20000,DX10下图形性能超过HD6990。单芯片显卡方面,NVIDIA GTX580和GTX570都取得了不错成绩,表现出较好应用性能。
2.3 DX11理论测试:《3DMark 11》
接下来就是测试的重头戏,DX11性能比拼。时至今日,依然没有任何一个测试软件或者游戏能够取代3DMark在游戏玩家心目中的地位,因为3DMark的魅力就在于它所带来的不仅仅是惊艳的画面,更重要的是向广大玩家提供了一种权威、系统、公正的衡量显卡性能的方式。
● 3DMark 11的特色与亮点:
1、原生支持DirectX 11:基于原生DX11引擎,全面使用DX11 API的所有新特性,包括曲面细分、计算着色器、多线程。
2、原生支持64bit,保留32bit:原生64位编译程序,独立的32位、64位可执行文件,并支持兼容模式。
3、全新测试场景:总计六个测试场景,包括四个图形测试(其实是两个场景)、一个物理测试、一个综合测试,全面衡量GPU、CPU性能。
4、抛弃PhysX,使用Bullet物理引擎:抛弃封闭的NVIDIA PhysX而改用开源的Bullet专业物理库,支持碰撞检测、刚体、软体,根据ZLib授权协议而免费使用。
在主要针对显卡DX11效能的3DMark 11中,GTX590依然能够超越GTX580 50%以上,而HD6990则在这项测试中更具优势,稍稍领先于GTX590。虽然GTX580单卡成绩优于HD6970,但得益于更高的内部交火效率,HD6990最终以微弱差距胜出,当然这也与GTX590过低的默认频率设定有关。
2.4 Tessellation测试:《Heaven 2.1》
软件介绍:Unigine Engine最先发布了首款DX11测试/演示程序——Heaven Benchmark,其中大量运用了DX11新增的技术和指令,并主要针对系统Tessellation性能作出测试。
画面设置:2.1版本进一步强化了Tessellation技术的应用,细分精度更高,画面更上一层楼,为了更好的测试不同Tessellation设置下的性能差异,我们选择了4AA和8AA两种设定,将Tessellation设定为最高Extreme模式,并对2560x1600和1920x1080两种分辨率进行测试。
通过测试成绩统计可以看到,在单芯片显卡中,NVIDIA GTX580和GTX570有较为稳固的优势,但在两款双芯片解决方案的对比中,GTX590却仅与HD6990持平,又是内部SLI效率在作祟。
2.5 DX11理论测试:《石巨人》
游戏介绍:游戏引擎开发商BitSquid与游戏开发商Fatshark近日联合公布了一个展示DX11强大技术的DEMO。这个名为《StoneGiant》(石巨人)的DEMO,可以让玩家来测试自己PC显卡的DX11性能。BitSquid Tech即将提供PC平台的引擎,并且大概在今年第三季度将提供PS3和Xbox 360等其他平台的引擎。
画面设置:StoneGiant是一款技术演示Demo,画面做的非常精美,进入之后可以选择开启关闭Tessellation以及DOF(DX11级别景深)进行测试,这两项技术都十分消耗资源,尤其是同时打开时。其中Tessellation技术对画质的改善最为明显,但DOF仔细看也有不小的画质提升,所以我们这里将Tesselation和DOF都开启进行测试。
测试方法:游戏自带Benchmark。
这项测试与《Heaven Benchmark》一样,主要针对显卡Tessellation能力进行测试,在这个测试中玩家可以根据不同设置直观体验Tessellation技术为游戏画面带来的变化,测试中NVIDIA GTX590借助于传统性能优势相对竞争产品取得了超过30%领先幅度。
2.6 DX11游戏测试:《尘埃2》
游戏介绍:《科林麦克雷》系列游戏是为纪念去世的英国拉力赛车手科林·麦克雷(Colin McRae)而制作的,因此在游戏过程中不难见到许多麦克雷过往的身影。与一年一款的优品系列赛车游戏不同,DiRT2距离前作已经两年之久,目前《科林麦克雷:尘埃2》主机版早已上市,几乎登陆所有的主机和掌机平台、好评如潮,而PC版由于支持DX11的缘故,所以被延期数月。
画面设置:DIRT2堪称DX11游戏代表作,DX11的五大关键特性在这款游戏中都有体现,但却没有得到大范围的应用,都是点到为止。比如Tessellation主要体现在水洼和旗帜上,而赛车过程中也就那么几处采用了该技术,因此这款DX11的要求并不高,特效全开的话中端显卡都能跑动。
测试方法:游戏自带Benchmark程序,会自动跑完一个固定的赛道,非常接近于真正玩游戏的模式。
测试中我们将游戏显示选项中的各项特效都开到最高,并针对两种分辨率和4AA、8AA两种模式分别测试,参与测试的几款显卡性能都比较强悍,即便在大分辨率下也都能取得每秒60帧以上的成绩,事实上,这样的帧速对玩家来说已经感觉不到什么差异,但就性能来讲,GTX590在这款游戏中当仁不让成为冠军。
2.7 DX11游戏:《异形大战铁血战士》
游戏介绍:《Aliens vs. Predator》同时登陆PC、X360和PS3,其中PC版因为支持DX11里的细分曲面(Tessellation)、高清环境光遮蔽(HDAO)、计算着色器后期处理、真实阴影等技术而备受关注,是AMD大力推行的游戏之一,但是这样的主题难免让本作有很多不和谐的地方,暴力血腥场面必然不会少!发行商世嘉在2009年11月就曾明志,表示不会为了通过审查而放弃电子娱乐产品发行商的责任,因为游戏要维持“异形大战铁血战士”这一中心主题,无论画面、玩法还是故事线都不能偏离。
画面设置AVP原始版本并不支持AA,但升级至1.1版本之后,MSAA选项出现在了DX11增强特效当中,当然还支持Tessellation、HDAO、DirectCompute等招牌。该游戏要求不算太高,所以笔者直接将特效调至最高进行测试。
测试方法:游戏带Benchmark,其中测试画面颇代表意义,很好的体现了Tessellation异形身体以及HDAO等高级特效,希望这些特效能让系统发挥所有潜力。
在两种分辨率测试中,1920X1080分辨率下HD6990表现出了十分优秀的效能,大幅度领先于其他型号产品,而在高分辨率高画质条件下,GTX590则以超过40帧每秒的成绩领先于其他显卡。
2.8 DX11游戏测试:《地铁2033》
游戏介绍:《地铁2033》(Metro 2033)是俄罗斯工作室4A Games开发的一款新作,也是DX11游戏的新成员。该游戏的核心引擎是号称自主全新研发的4A Engine,支持当今几乎所有画质技术,比如高分辨率纹理、GPU PhysX物理加速、硬件曲面细分、形态学抗锯齿(MLAA)、并行计算景深、屏幕环境光遮蔽(SSAO)、次表面散射、视差贴图、物体动态模糊等等。
画面设置:《地铁2033》虽然支持PhysX,但对CPU软件加速支持的也很好,因此使用A卡玩游戏时并不会因PhysX效果而拖累性能。该游戏由于加入了太多的尖端技术导致要求非常BT。
测试方法:选用第三方Benchmark程序,这是一小段地铁隧道中的战斗场景,场面复杂战斗激烈,对显卡提出了严峻考验。
游戏打造出了一个阴暗、充满危险的地下世界,复杂的环境让这款游戏在高画质下对显卡性能提出了极高要求,即便像GTX590这样的双芯显卡也只能取得每秒40帧左右的成绩,高画质下甚至达不到流畅运行的标准,而HD6990也面临同样的尴尬,两者成绩不相上下。
2.9 DX11游戏:《失落星球2》
游戏介绍:《失落的星球2》的游戏舞台是前作故事发生后十几年之后经过温暖化改变的EDN-3rd,这里将新增丛林等新场景,主人公也并非前作那样为一人,而是以“雪贼”们不同的视点展开故事。
画面设置:前作相同,《失落的星球2》采用CAPCOM公司原创引擎MT Framework的最新版VER.2.0进行开发,游戏世界的表现将更加细致和美丽。而不仅仅是画面上的进化,本作将会在前作玩家要求基础上追加大量全新要素,新场景、新角色、新武器等自不必说,角色的动作也比前作更加丰富多彩。
测试方法:游戏自带Benchmark,开启全特效+4AA/8AA选择B场景的BOSS战,非常激烈过瘾。
NVIDIA的几款显卡在这款游戏中表现出了极为过硬的实力,其中GTX580显卡在1920X1080分辨率下取得的成绩居然与双芯架构的HD6990持平,GTX590则凭借更加强悍的性能再次领先,即便在2560X1600大分辨率下也毫不疲软。
2.10 DX11游戏:《H.A.W.X.2》
《H.A.W.X.2》是一款结合了拟真与空战要素而成的模拟飞行游戏,玩家可驾驶多种高性能战机,在高空中进行巡逻、护航、轰炸等任务。值得一提的是,游戏中的地面场景乃参考GeoEye卫星空照图所构建而成,这项游戏与现实生活的科技结合,让玩家仿佛置身于战机的驾驶舱内,逼真的地表风貌一览无遗。
测试中我们将特效开到最高,并开启8xAA和1920x1080分辨率,打开tessellation。
这款游戏不像普通FPS游戏那样有大量的物体需要渲染,尽管游戏空间非常广阔,但在“高空”时,游戏不需要对地表物体做过于复杂的渲染,所以很多显卡都能够非常流畅的运行游戏,在性能方面GTX580发挥出了相当优秀的性能,甚至超越了采用双芯架构的HD6990,而GTX590则以大比分领先。
2.11 DX10.1游戏测试:《孤岛惊魂2》
游戏介绍:自《孤岛惊魂》系列的版权被UBI购买之后,该公司蒙特利尔分部就已经开始着手开发新作,本作不但开发工作从Crytek转交给UBI,而且游戏的故事背景也与前作毫无关系,游戏的图形和物理引擎由UBI方面完全重新制作。
画面设置:借助于蒙特利尔工作室开发的全新引擎,游戏中将表现出即时的天气与空气效果,所有物体也都因为全新的物理引擎,而显得更加真实。你甚至可以在游戏中看到一处火焰逐渐蔓延,从而将整个草场烧光!而且首次对DX10.1提供支持,虽然我们很难看到。
测试方法:游戏自带Benchmark工具,在1920X1080和2560X1600两种分辨率下,开最高特效分别进行4AA/8AA测试。。
《Farcry2》营造出了广袤的场景,但对硬件的要求却并不是很高,在最高特效条件下,打开8xAA,参与测试的显卡也都能在1080P分辨率下达到每秒100帧左右的成绩,GTX590则得益与双芯架构,在性能方面相对其他产品有大幅度领先。
2.12 DX10游戏测试:《孤岛危机:弹头》
Crysis(孤岛危机)无疑是DX11出现之前对电脑配置要求最高的PC游戏大作。作为DX10游戏的标杆,Crysis的画面达到了当前PC系统所能承受的极限,超越了次世代平台和之前所有的PC游戏。Crysis还有个资料片Warhead,使用了相同的引擎。
画面设置:Crysis只有在最高的VeryHigh模式下才是DX10效果,但此前所有高端显卡都只能在低分辨率下才敢开启DX10模式,如今的DX11显卡终于有能力单卡特效全开流畅运行。
测试方法:Crysis内置了CPU和GPU两个测试程序,我们使用GPU测试程序,测试了1920X1080、2560X1600两种分辨率和4AA/8AA模式。这个程序会自动切换地图内的全岛风景。
《Crysis》作为著名的“硬件杀手”,在此次测试中也毫不手软,强悍的单芯卡GTX580甚至不能流畅运行,即便像GTX590在高特效2560X1600分辨率下也只能得到每秒30多帧的成绩,不过这样的性能依然可以让GTX590领先大部分显卡,仅在最高分辨率测试中落后HD6990两帧。
2.13 DX10游戏测试:《冲突世界》
游戏介绍:《冲突世界》将带领玩家返回著名的冷战时期,玩家每一个决定均影响游戏中人物和情节。可于游戏中感受不一样的团队精神,与队友于阴森恐怖的战场上一同作战。《苏联进攻》是其最新的资料片,收录全新角色、扮演苏联军队、10套新影片和全新多人联机地图等等。
画面设置:《冲突世界》是首批DX10游戏之一,采用了自行研发的MassTech引擎,支持多种当前的主流显示特效,如容积云,景深效果,软阴影等,光照系统也表现出色,尤其是半透明的容积云特效营造出了十分逼真的户外场景,物理加速结合体积光照渲染出了最逼真的爆炸效果。
测试方法:内置Benchmark是一段非常华丽的过场动画作为测试程序,最终得出最大、最小和平均FPS,测试结果非常精确。WIC最高支持4AA,因此我们只测试1920x1080和2560X1600分辨率下的4AA16AF模式。
《冲突世界》游戏测试中的场景随着时间推移,会有不同强度的特效应用,所以最低和最高帧速相差较大,取得的最终成绩也会有些浮动,从成绩来看,两款双芯卡成绩十分接近,互有胜负,而在单芯卡中,来自NVIDIA的两款产品则拥有较大优势。
2.15 DX9游戏测试:《街头霸王IV》
游戏介绍:CAPCOM公司于1987年推出的大型电玩机台格斗游戏《街头霸王》,堪称目前格斗类游戏的始祖。经过了20多年的不断演化之后,如今的PC版《街头霸王4》不仅在画面上走向了全新方向,而且加入了各种新系统,试图让传统2D格斗游戏得到重生。
画面设置:街霸4 PC版和游戏机版相比,除了支持高分辨率输出之外,还为玩家提供了画面渲染风格选择的功能,除与家用机版一样的“普通”模式外,还有“水彩”、“海报”和“烟灰墨”这三种追加的渲染风格,带给完全全新的视觉体验。
测试方法:测试时使用游戏自带Benchmark。由于游戏要求较低,因此直接开启最高的8xMSAA+16AF模式。
从上面的游戏测试成绩统计中可以看到,除了HD6970成绩较低外,其他几款产品成绩都比较接近,GTX580性能强悍,但GTX590在这款游戏中却没有提升多少,同样作为竞争型号的HD6990也没得到太高分数,比GTX590稍低。
2.16 PhysX测试:《黑手党II》
游戏介绍:《黑手党2》(Mafia II)将带领玩家进入1940年至1950年虚构的地下世界,就像好莱坞电影般的游戏世界,玩家可在拟真的城市中冒险。在1940年代的城镇中,居民如同往常过着平静的生活,帮人擦鞋、卖报纸,而路边偶尔会出现黑帮份子。
画面设置:这是一款支持PhysX GPU物理加速的最新游戏,但依然使用了DX9C引擎,因此画面本身并不出彩,但大量的爆炸、烟雾、破碎、衣料等物理效果还是很不错的。
测试方法:游戏自带Benchmark,内置的抗锯齿并不知道是多少倍数,分为不开PhysX和PhysX High两种模式进行测试。
PhysX游戏是NVIDIA的传统优势,在这项测试中也是如此,开启PhysX前还看不出什么,但是在将PhysX设置为High后,差距就变得十分明显了,GTX590得分超过HD6990两倍还多,HD6990在PhysX游戏中完全处于被动挨打的地位,不得不说NVIDIA的物理引擎推广做的确实不错。
2.17 CUDA视频转码测试
随着显卡技术的进步,显卡性能越来越高,如何利用这种比较普遍的性能冗余让显卡能做更多事成为业内研究方向,CUDA是NVIDIA推出的一种通用并行计算架构,让显卡可以从事图形运算以外的目的,在今天的测试中我们就加入了视频转码测试,软件使用了CUDA技术。
软件设置界面,原始视频输出为可用于iPod的480P视频。
正在转换一部720P视频,每秒处理192帧图像,效能惊人。
处理结束,用时23秒。
处理一部1080P蓝光电影,速度为每秒120帧。
在没有使用CUDA技术的显卡和软件之前,只有专业人员用专业设备才能进行快速视频转码工作,而现在我们只要选择好文件,就可以让显卡帮忙进行视频转码工作,不仅为玩家节省更多时间,也可以让用户在日常应用中获得更多乐趣。
2.18 温度、功耗、噪音测试
对于在一块PCB上集成了两颗GPU核心的优异显卡来说,散热、功耗与性能的平衡永远都是个问题,而高端显卡恐怖的发热噪音历来为人诟病,这次双芯旗舰GTX590会不会在刷新性能记录的同时功耗发热失控呢?接下来我们就通过使用Furmark对显卡进行满载来验证一下GTX590的外部特性。
AMD这次没能延续以往的优势,在两大双芯旗舰对决中,GTX590牺牲了频率,终于换来了清爽!
不知是刻意为之还是碰巧,NVIDIA GTX590显卡的满载温度和功耗都比HD6990稍低,但从超过500W的平台总功耗依然可以看到这两款显卡都是电老虎,在如此高的功耗下,发热自然也不低,不过GTX590配备的风扇效能似乎比HD6990搭载的涡轮风扇效能更高,满载温度略微领先。
我们还通过手持噪音仪测试了显卡散热器的噪音,在环境噪音约40dB的情况下,距离散热器10CM进行测试,并取最小值。GTX590风扇表现出色,满载57.4dB,强度比HD6990低了约三分之一(噪音每增加10dB,强度增加3倍)。测试成绩仅供参考。
2.19 性能测试总结
GF110显示出了强大的实力,仅凭607/3416MHz的频率就打败了上代卡皇830/5000MHz的HD6990。Fermi无愧为DX11非常好的架构,而GF110无疑是DX11最强GPU核心!
本章所要介绍的则是之前大家耳熟能想的老技术,但伴随着GTX590的发布,这些技术无论性能、功能还是技术都被NVIDIA大幅增强,老N卡用户都可以从中获益……
3.1 PhysX物理加速在游戏中的妙用
PhysX是NVIDIA的一大法宝,在NVIDIA DX11显卡面世之前,旧的N卡正是凭借该技术与A卡相抗衡。通过笔者此前的网友调查来看,虽然PhysX的关注度没有DX11那么高,但还是拥有很多忠实的用户,一些玩家为了同时追求DX11与PhysX,费尽心机通过破解杂交的方式来让N卡和A卡协同工作。
《地铁2033》:同时支持DX11和PhysX
如今GTX59正式发布,同时支持DX11和PhysX,玩家没必要再瞎折腾了。而且刚刚发布的《地铁2033》这款游戏对DX11和PhysX都提供了支持,看来不光是玩家,开发商对于PhysX也比较热衷,毕竟这是目前唯一一款支持GPU加速的物理引擎,而另一款物理引擎Havok在被Intel收购之后一直处于雪藏状态。
此前想要实现物理效果必须购买专用的物理加速卡,而NVIDIA收购了Ageia公司之后,将PhysX技术以完全免费的形式附送给了GeForce显卡,让N卡用户多了一个非常炫的功能。
NVIDIA在游戏界有着举足轻重的影响力,和众多游戏开发商保持着密切的合作关系,大名鼎鼎的“The Way”计划就保证了N卡在几乎所有游戏大作中都有着良好的性能发挥。PhysX物理引擎被NVIDIA收入囊中之后,原本屈指可数的物理游戏逐渐开花结果,以《镜之边缘》、《蝙蝠侠》、《黑暗虚空》为代表的一些重量级大作开始使用PhysX物理引擎,影响力非同小可。
国产FPS网游MKZ中爆炸、破坏、玻璃和布料使用了PhysX技术
而且,中国本土游戏开发商也开始使用PhysX引擎来增强画面,比如《MKZ铁甲突袭》和《剑网3》都内置了PhysX支持,可见PhysX技术显然要比其它同类物理技术更易用一些。
国产网游《剑网3》中,使用PhysX实现了逼真的衣物和布料效果
虽然物理加速技术还没有一个统一的标准,但PhysX无论从游戏数量还是画面效果方面,都更胜一筹。随着使用PhysX引擎的游戏越来越多,少有的PhysX显然将会成为事实上的标准。
AMD HD6000系列最诱人的技术恐怕就是Eyefinity了,实现三屏环幕的效果确实相当震撼,为游戏玩家提供了非常宽阔的视野。当然这里说的三屏并不是简单的连接三个显示器,而是将三个显示器虚拟成为一个大的分辨率,然后实现超宽分辨率的游戏,这才是玩家最需要的技术。
3.2 NVIDIA 3D Vison Srround
NVIDIA之前的GTX500并没有提供单卡三屏输出,这将会导致N卡失去一个很大的卖点。而今天发布的GTX590则可以完美实现比AMD更强悍的三屏7680X1600环绕输出。
以前NVIDIA的三屏需要双卡SLI支持
NVIDIA可以实现2D三屏与更高级的3D三屏
当然,最具有特色的就是,三屏环幕结合3D Vision技术,实现3D立体3屏环绕技术,足以产生令人震惊的显示效果。这一顶尖技术目前还只有NVIDIA能做得到,AMD的3D立体方案还停留在实验室当中。
3D+3屏,超乎想像的真实
现在,玩家不用在3D Vision和Eyefinity这两种技术之间徘徊了,因为NVIDIA也能支持“Eyefinity”技术,GTX590单卡双芯,或者组建SLI系统均可获得更加体验。至于3D Vision则成本较高,如果您预算有限的话不妨继续等待,目前3D立体已经成为大势所趋,相关设备应该很快就会降到一个合理价位。
3D元年,立体化已经成为大势所趋
三屏的兼容性是几近完美的,只要游戏能支持宽屏模式即可,而NVIDIA 3D Vision对于游戏的支持度也是非常到位,因此3D Vision Surround的效果无须质疑,有兴趣的朋友不妨去NVIDIA合作伙伴的形象店去体验体验。
光栅化的极致终究无法显示和照片一摸一样的画面,因为无论你的纹理烘焙的多么精确,无论模型建立的多么逼真,反光品质始终无法达到真实。而光线追踪通过计算每一束光线的反射,让即时渲染的逼真度达到另一个境界。
光线追踪技术我们已经谈论了多年,事实上很多电影的特效都采用了这个技术,而在桌面渲染领域,由于消耗资源太恐怖所以一直都停留实验室,未能进入民用阶段,但毋庸置疑,它是图形处理的未来发展趋势。
3.3 下一代渲染技术:CUDA实现光线追踪
为了让光线追踪早日成为现实,NVIDIA将光线追踪与现有的光栅化技术结合了起来,制作了第一个针对民用级市场的交互式光线追踪引擎。
过去的GPU很难以较高的效率运行光线追踪这种渲染模式,因为光线的方向具有不可预测性,需要大量随机存储的存取,导致GPU反复进行着相同的操作。为了高效期间,GPU一般以线性块的方式进行存取。
Fermi的计算架构在设计之初就将光线追踪考虑在内了,Fermi是首款在硬件上支持循环的GPU,它能够执行高效的光线追踪以及大量其它图形算法。通过提升随机存储的性能,Fermi的L1、L2大幅提升了光线追踪效率,L1为临近的光线增强了存储器的本地性,L2则增大了显存带宽。
光线追踪渲染出来的车体
Fermi不仅在标准光线追踪中表现出色,而且在路径追踪等高级全局照明算法中也有不凡的表现。路径追踪采用大量光线来收集场景中的环境光照信息。据实际测试来看,Fermi的性能可达GT200的四倍之多。
为了维持性能,游戏也可以有选择的运用光线追踪。例如,光栅化可以用来执行场景的第一个通道,被确定为反射光的像素可以通过光线追踪来接受进一步的处理。这种混合型渲染模式能够实现更高性能以及更佳的图像质量。
现在N卡用户都可以去下载NVIDIA的这个Demo,来体验一下传说中的光线追踪到底能有多好的画质、能有多么逼真?当然上代显卡的速度会比较慢,而GTX590则要快很多。
虚拟现实之所以发展飞速,微软起到了至关重要的作用,现在的每款游戏终究到归类到DirectX的某个版本。而每一次DirectX API的升级都带给我们更绚烂的游戏画面,都让我们更接近渲染真实的终极目标。如果不去了解,您可能至今还不清楚高性能显卡对我们生活和娱乐带来的改变,下面小编亲自整理了一些至今为止最强游戏画面的截图,希望大家喜欢。
作为DX10时代让人叹为观止的显卡杀手,Crysis的画质至今都可以深深的震撼每一位读者。
4.1 DX10代表作《Crysis》图赏
4.2 DX10基准:《3DMark Vantage》画面赏析(点击查看高清大图)
4.3 DX11游戏:《HAWX2》画面赏析(点击查看高清大图)
4.4 DX11游戏:《地铁2033》画面赏析(点击查看高清大图)
4.5 Tessellation软件:《Heaven》 画面赏析(点击查看高清大图)
4.6 Tessellation软件:《石巨人》画面赏析(点击查看高清大图)
4.7 DX11基准:《3DMark11》画面赏析(点击查看高清大图)
华丽图形画面和DirectX API的进步相伴相生。几乎每一次的版本升级,都会带来一个或几个让玩家牢记心中的核心级的技术进步,比如DX9C带来的HDR效果,DX10带来的体积光。玩家们甚至可以说,出现了HDR效果的就是DX9C游戏,出现了体积光的则是DX10游戏。美轮美奂的即时渲染画面和DirectX API是分不开的。
而图形API世代交替对于图形厂商来说,既是机遇也是挑战。DX9让9700成为经典,让5800跌入低谷;DX9C让6800风光无限,让X800暗淡无光;DX10成就了8800的霸主地位,让HD2900一败涂地;DX11则让HD5800抢得先机。图形硬件和DirectX API也是息息相关。
希望对显卡和游戏有深入研究的朋友,一定不能错过这一章,在这里,我将带大家了解,过去的十年中,DirectX API究竟给我们带来了什么,而图形芯片厂商为什么对它如此奉为纲领!
5.1 DirectX10 - DirectX 3D发展史
在图形编程API出现之前,三维程序直接向图形硬件发送图形命令来完成绘制工作。虽然这样绘制效率相当高,但是程序中要应对各种不同硬件上的不同命令,这使得开发工作十分困难,且程序中很容易出错。当越来越多不同的图形硬件冒出来的时候,这就成了一件十分不能忍的事。
于是便出现了像DirectX和OpenGL这样的图形API。它们在图形硬件和应用程序之间架起了一个中间层,这样,应用程序可以使用统一的图形编程代码,而对底层各种硬件的适应,则由图形API来完成。这就将游戏程序员们从与大量的图形硬件交换意见的恶梦中解救出来,使他们能够将精力集中在“制作伟大的游戏作品”上面。
作为泛用性底层API,DirectX让市场上原本杂乱的方案趋于统一。凭借微软自身强大的影响力以及其对图形编程领域的认知,DirectX不断将图形领域的成熟技术引入到桌面。虽然微软未必是一个被所有人所喜欢的企业,但他在推动图形发展方面做出的卓越贡献却有目共睹的。
DirectX中应用在3D图形方面的特定DirectX API即Direct3D,这也是DirectX中最重要的部分。不过,DirectX 3D得到广泛应用是在DirectX 6.0之后:
DirectX 6.0:加入了双线性过滤、三线性过滤等优化3D图像质量的技术,加入环境影射凹凸贴图,使3D游戏的画面更具有真实感。
DirectX 7.0:最大的特色就是支持了T&L,中文名称是“坐标转换和光源”,3D游戏中坐标和灯光的转换工作从此由CPU转交给了GPU,比DX6.1性能提升20%。这也成就了nVIDIA GeForce 256与ATi Radeon 256的辉煌,令3DFX彻底退出市场竞争。
DirectX 7.0a:增强了力反馈游戏控制设备的性能和兼容性。
DirectX 7.1:与Windows Millennium一同发布。
DirectX 8.0/8.0a:支持Shader Model 1.0和1.1,从此在显卡中引入可编程像素着色器(Pixel Shaders)和顶点着色器(Vertex Shaders)的概念,同时应用在Xbox游戏机中。同硬件T&L仅仅实现的固定光影转换相比,VS和PS单元的灵活性更大,它使GPU真正成为了可编程的处理器。
DirectX 8.1: Pixel Shader升级到1.2、1.3、1.4版,可以支持最高每时钟28指令执行,其中1.4版当时仅ATi Radeon 8500显卡支持。
DirectX 9.0 Shader Model 2.0: SM2.0的shader性能更强,支持最高96指令的pixel shader长度,同时DirectPlay和一些音频方面也有大幅提升。
DirectX 9.0 Pixel Shader 2.0b: ATI Radeon X600/700/800系列显卡首先采纳,开始支持更多指令(最高1536)和更多临时寄存器(32相比之前为12),同时还加入新的贴面寄存器(facing register)和几何实例(geometry instancing)的支持。
DirectX 9.0 Shader Model 3.0:支持更多指令,支持指令的流量控制和动态分支,从而使得编程人员可以在shaders中加入循环操作,使得编程更加容易,首次被Geforce 6800显卡采用。
从多重材质到T&L,从Shader programe到Unified Shader,在DirectX的影响下,图形API走向了光栅化过程,实时演算图像效果得以完善,有效的平衡了图形运算和虚拟现实的两者之间供需矛盾。
5.2 号称实现“一切图形特效”的DX9C
现在来看决定整个DirectX发展命运的转折点有两个,一个是DirectX 7中T&L的引入,一个是DirectX 8中shader的引入。T&L的引入第一次将显卡从一个单纯的打印机变成了有主动操作功能的图形处理器,而shader的引入则将运算能力这个无限可能的大门放置在了显卡面前,透过运算能力,人们终于可以比较准确并且实时的操作纹理上像素的色彩,虽然这些色彩离真实还相去甚远,但在当时已经是达到了桌面图形效果的极限。不过这两个划时代的API都无法与DirectX 9.0C进行比较,因为直到DirectX 9.0C,光栅化的众多特效才得以最终实现。
但是这样就完美了么?不是的。每次DirectX从应用程序那里接收到一条命令,它就需要先对这条命令进行分析和处理,再向图形硬件发送相对应的硬件命令。由于这个分析和处理的过程是在CPU上完成的,这就意味着每一条3D绘图命令都会带来CPU的负载。这种负载给3D图象带来两个负面影响:限制了画面中可以同时绘制的物体数量;限制了可以在一个场景中使用的独立的特效的数量。这就使得游戏画面中的细节数量受到了很大的限制。而使图像具有真实感的重要因素,偏偏是细节量。
虽然DX9C号称可以显然仅仅能够实现所有特效是远远不够的,随着图形技术和硬件规格的快速发展,看似完美的DX9C很多矛盾逐渐显露,程序员开始抱怨拮据的资源和不兼容的接口,更为让人无法接受的是,更高阶的特效实现往往需要成千上万行的代码,很多实例已经趋于无法完成的危险边缘。
高效快捷的利用硬件实现才是更加现实的任务。在敏锐的感觉到这一点之后,微软将下一代DX API的核心任务定位为进一步解放编程。
在DirectX 10中,通过常量缓冲器、纹理阵列、动态shader执行分支等特性,将Instancing技术从这些局限中解放了出来。模型的实例没必要使用同一张纹理贴图;它们可以通过自己本身的纹理来从纹理阵列中取出各自的纹理;它们甚至可以有不同的特效——程序员可以写一个包含很多特效的“超级”shader,然后为每个模型实例运用这个shader程序的不同执行分支部分,从而给不同的模型赋以不同的材质特效。甚至连为每个模型实例使用骨骼蒙皮动画这种需要大量变换矩阵操作的问题,在16×4096常量寄存器的强大攻势下都可以迎刃而解。
5.3 不应备受冷遇的DX10
“克隆人”的时代已经结束了^_^ 通过DirectX 10的高级特性,Instancing将允许每个模型实例拥有它的个性:纹理贴图,pixel和vertex shader,以及动作动画。每个实例都将会有它自己的生命。
Microsoft发布的DirectX 10代表了自从可编程Shader出现以来在3D API方面的最巨大的进步。通过一番脱胎换骨般的重建,DirectX 10展现出一系列非常醒目的新特性,包括高度优化的运行时,强大的Geometry Shader,纹理数组等等;这些特性将引领PC实时三维图形进入一个全新的世界。但是如此众多的改变对图形硬件厂商提出了前所未有的挑战,同时对游戏厂商亦是如此。
之前适合处理DX9C游戏的GPU架构已经无法满足的要求了,NVIDIA和ATI在这个时候没有任何的规则可以依靠,也没有成功的先例可以借鉴,完全是摸石头过河。就在这样的背景下,诞生了第一代统一架构,NVIDA的G80和ATI的R600。
另一方面,DirectX 10为游戏开发者提供了很多新的特性,采用这些特性可以用来开发大量的次世代图形效果。一些游戏厂商开始积极参与其中,CE2这样优秀的引擎脱颖而出,但由于这是基于强大、灵活的可编程特性基础上的,开发难度也是可想而知。实际上,更多的厂商决定保守的在原有引擎基础上稳扎稳打,慢慢升级,代表UE3。
最后的结果想必大家已然明了,虽然G80相比上一代有了质的的提升,但是在发布初期,根本无法满足Crysis这样大量采用DX10技术的先进游戏。而相对于NVIDIA,ATI的R600更是一败涂地,连之前的DX9C游戏效率都乏善可称。
本来堪称革命性技术进步的DX10为何以受如此冷遇?
因此,在DX10寂寞孤独恨两年之后,微软再次推出新一代的DX11 API,业界再次将期望都寄托在了DX11身上。虽然相比DX10而言,DX11并没有带来更加惊艳的特效,但却通过各种手段提升了GPU的渲染效率,解决了CPU的瓶颈。当硬件系统有了富裕的运算资源之后,游戏开发商就可以大胆的去使用更多的特效和技术,而新规则的加入更是让程序开发门槛再次降低,如此一来DX11游戏很容易就能从画面到速度全面超越DX10游戏!
1. Tessellation:镶嵌式细分曲面技术
2. Multi-Threading:多线程处理
3. DirectCompute 11:计算着色器
4. ShaderModel 5.0:着色器模型5.0版
5. Texture Compression:纹理压缩
DX11的五大关键特性虽然称不上革命,但是却最为实际。其中Tessellation和DirectCompute 11尤其重要,前者可以大幅提升游戏画质、后者可以大大提高游戏效率,因此笔者将其单列一章专门做详细介绍。那么首先我们来看看另外的三大关键特性。
6.1 DX11五大革新之:Shader Model 5.0
Shader(译为渲染或着色)是一段能够针对3D对象进行操作、并被GPU所执行的程序,ShaderModel的含义就是“优化渲染引擎模式”,我们可以把它理解成是GPU的渲染指令集。历代DirectX每逢重大版本升级时最主要的更新内容就包括在了ShaderModel之中:
ShaderModel 1.0 → DirectX 8.0
ShaderModel 2.0 → DirectX 9.0b
ShaderModel 3.0 → DirectX 9.0c
ShaderModel 4.0 → DirectX 10
ShaderModel 5.0 → DirectX 11
高版本的ShaderModel是一个包括了所有低版本特性的超集,对一些指令集加以扩充改进的同时,还加入了一些新的技术,现在我们就来看看DX11 SM5.0都有哪些新特性:
由于统一渲染架构的特性,Shader Moder 5.0是完全针对流处理器而设定的,所有类型的着色器,如:像素、顶点、几何、计算、Hull和Domain(位于Tessellator前后)都将从新指令集中获益。
其中,覆盖采样及Gather4纹理拾取两项指令是从在DX10.1基础上发展而来的,SM5.0要比SM4.1更加智能和灵活,它可以针对特定颜色分别采样、还能自动识别可做阴影映射的值,精度和效率都进一步提高。
由于DX10.1与DX10在指令方面的相似性,现有的DX10.1游戏可以很容易的通过更新程序代码升级支持DX11,从而获得更好的运行效率,比如《BattleForge》和《STALKER》这两款DX10.1游戏率先对DX11提供了支持。
通过大量的游戏性能测试来看,GPU占绝对主导,而之前的CPU只是考验单核效能,通过对CPU极限超频可以让游戏性能提高不少,但使用四核或者带HT技术的“八核”处理器几乎不会有任何性能提升。在多核成为大势所趋的情况下大量CPU资源被白白浪费,瓶颈可能依然卡在CPU上面。如果一个软件能够对多核心多线程处理器进行优化的话,那么在使用双核或四核处理器时,其运行效率将会提升2-4倍。
6.2 DX11五大革新之:Multi-Threading
DX11当中新增的多线程处理技术,则是专门针对多核应用而生的,它通过引入“延迟执行”的指令将一个渲染进程拆分为多个线程,并根据处理器核心/线程数设定延迟执行内容的数目。多线程的涵义是非常广的,每一帧画面可以被分为几个图层,每个图层又可以分为N个区块,所有的这些都可以被并行调度到延迟执行的线程之中。
这是一项很聪明的技术,标记为“立即执行”的线程与传统的渲染没有区别,而标记为“延迟执行”的线程则可以在后台将图形生成所必须的资源做预先的存取,比如纹理拾取、像素生成、常数缓冲等操作都可以多线程并行处理,通过多核CPU富裕的资源来减少程序等待时间,从而使得渲染不再受到CPU的瓶颈制约。
多线程技术是非常灵活的,它既可以在游戏中通过程序代码来控制,也可以通过DirectX自动分配,还能够通过驱动程序进行优化。即便是驱动没有针对多核进行优化,DX11运行库也会通过模拟的方式提供新的功能,也就是说所有DX11游戏都将或多或少的从多核多线程CPU中获益。
多线程技术的引入对于双卡甚至多卡互联系统更为重要,以往多颗GPU在DirectX中只能模拟成一个虚拟GPU,所有的GPU必须共享指令缓冲区并接受CPU调度,渲染线程的拆分与合并指令延迟都很大,GPU越多则效率越低!而在DX11当中,如果用多核CPU搭配多路SLI系统的话,每颗CPU都可以单独控制一颗GPU的渲染线程,在均分CPU负担的同时,提高了GPU资源利用率,从而大幅提升游戏性能。
其实多线程技术也能应用在DX9/DX10甚至是OpenGL上面,但由于API及函数指令的限制,开启多线程会产生很多重复的指令,导致性能提升有限甚至不升反降,因此微软并不建议在旧API模式开启多线程模式,除非程序员做过严格的测试与优化。
丰富的纹理细节对于最终图像的质量尤为重要,目前的游戏也都在朝着超大规模、超精细的纹理细节方向发展。但是,大规模的纹理非常占用显存以及带宽。而纹理压缩就是为了解决这个问题,将大规模的纹理以一种优化的算法进行压缩。试想,如果图象的纹理都不进行压缩的话,那么2GB的显存容量恐怕都不够用。
6.3 DX11五大革新之:Texture Compression
细致的纹理效果
但是,目前纹理压缩技术并不支持HDR(高动态范围)图像,这也是开启HDR很占用显存的一个很大的原因。为了解决这个问题,DirectX 11加入了两种新的压缩算法——BC6H和BC7。其中,BC6H是专门针对HDR图像设计的压缩算法,压缩比为6:1;而BC7是专门给高品质RGB[A]纹理设计的压缩算法,压缩比为3:1。
上图展示的是图像通过BC6H压缩模式进行压缩的前后效果对比图。其中左边的图像为原始图像,中间的是在压缩过程中损失的一些细节,而右边的就是压缩后的图像。可以看出,从画质上来看几乎没有损失(肉眼看不出),但是却可以大幅度降低显存的占用。
这幅图展示的是BC7针对LDR纹理的压缩与传统的BC3纹理压缩对比。可以看出传统的BC3纹理压缩损失了大量的纹理细节,压缩之后的效果也很不好。而采用BC7算法压缩后的纹理,丢失的细节很少,效果也非常好,这就是改进纹理压缩的魅力。
有竞争的地方总会有争吵,虽然偶尔感觉聒噪,但也总比鸦雀无声来的好些,毕竟说明这地方还有人烟,还有关注。
都在说DIY市场受到了整机,特别是笔记本很大的冲击,但一个DX11的发布,还是引来了NVIDIA和AMD双方声嘶力竭的对吼,显然说明这个市场还是蓬勃的,至少大家还都很重视,不愿轻易输这一阵。我们也乐见双方这样的争吵出现,毕竟这表示它们没有倦怠,还在通过产品技术的升级进行着宿命般的伟大竞争。
但犹如神仙打架,我们这些凡人也只是看着天上彩云飞舞,雷电交加,热闹看够却不知其然。不小心哪位神仙的天兵跌落凡间,没准还要殃及无辜。就好象这次双方的DX11大战,不管是率先发难的AMD还是奋起直追的NVIDIA,都把焦点集中到了一个很长的名字上——Tessellation!口水仗打了不少,其实也没几个普通用户了解这是个啥,有啥作用。这个名词普遍被接受的中文翻译叫做“曲面细分”,在专业领域也往往被称作“镶嵌”,由于国内IT媒体普遍采纳了“曲面细分”这样一个称呼,所以在后文中,我们也从善如流,使用这个称谓。
实际上,曲面细分绝不是DX11更新的全部内容,从某种角度看,甚至称不上最具革命性的更新。那为什么A/N双方对于曲面细分这样的在意,寸土不让,NVIDIA以GTX400系列拥有超强的曲面细分性能而自居,而AMD在开始推广DX11显卡时也把重点放在了对它的诉求上,甚至目前被最广泛使用的DX11测试程序Heaven也基本是围绕着曲面细分来做文章?
简单的讲,虽然在改善增强画质方面DX11有不少新特性,但在短期内可以立竿见影看到效果,游戏开发商最容易掌握的就是曲面细分技术。这种容易使用又能出效果的东西,在DX11普及的漫长的初级阶段,将会是最能代表DX11效果和性能的技术,自然会引来各方关注。所以大家也就理解了为什么NVIDIA和AMD在这个问题上争吵不休了。
那曲面细分到底是什么?能为我们这些普通玩家带来什么?
和很多图形技术一样,Tessellation(曲面细分)其实早已有之,之所以没能应用到桌面级领域,除了GPU处理能力不足之外,主要原因还是技术还不够完善,因此ATI即便有微软的鼎力相助,也未能将该技术发扬光大。到了DX10时代,ATI虽然在全线GPU当中整合了Tessellator模块,无奈孤掌难鸣,并没有得到游戏开发商的支持。
7.1 Tessellation(曲面细分)的前世今生
直到DX11时代,GPU自身的性能有了长足的进步,硬件上真正具备了细分曲面的实力,再加上微软重新改写API渲染流程,专为Tessellation开辟了新的着色器,这才让Tessellation技术得以重见天日。
曲面细分最早出现在专业图形领域,在蛰伏了多年后,终于被AMD引入到PC图形技术中,通过R600系列的发布,见诸于桌面图形市场。但由于没有微软给予的官方身份,专属性太强,无论是其它图形核心生产厂商,还是游戏开发商,都很难也不愿意去跟进这样的技术。而在机缘巧合之下,AMD为微软打造的XBOX360图形核心Xenos采用了它,由于主机市场的封闭性,所以XBOX360的大量游戏中都采用了曲面细分技术,微软也亲身体验到了它的好处,终于决定在DX11中收编入正规API中。而这一决策无疑是非常明智的,如果没有Tessellation的加入,现在的DX11,更有可能叫做DX10.2!
实际上,截止前文我们所说到的曲面细分,只是机械的为一个多边形模型增加更多的多边形数量,这就是其核心内容,如果不加前后期控制,这样的技术对于提升图形效果起不到任何作用,对于性能反而还会起到负面影响。
7.2 Tessellation不仅仅会“细分曲面
毫无方向的“曲面细分”,无助于提升画质,只会闹笑话
因为如果是这么简单的话,Tessellation技术就没有什么实际意义,举个例子大家都会明白。由100个三角形组成的模型,还是免费的将它升级到100000个三角形,但是这个模型如果是个怪兽,我们不再需要圆滑,而是丰富可信的细节,这100000个多边形能有什么作用?
之所以在DX11中,曲面细分会有改善画质的作用,我们通过一张DX11流水线图的观察就能发现其原因。在增加了Tessellator外,流水线前面还多出了Hull Shader后面还增加了Domain Shader两个模块,也就是说要想通过曲面细分获得图形效果提升,必须在曲面细分前后加以人工控制,不能任由其发挥。
对于Hull Shader、Tessellator、Domain Shader这三个新加入的单元的作用,上面这张图给予了较为明确的回答。Hull Shader主要负责定义细分等级(LOD)和相关控制点在细分中的“形变”趋势,这里的形变之所以加引号,是要说明这种形变仅仅是类似于曲率改变等小幅度的变化,而非大幅度的多边形位移;Tessellator则负责根据HS传输下来的信息,通过暴力增加多边形去实现HS的要求;Domain Shader负责的最重要的功能就是通过贴图控制的方式,实现模型的形变,也就是我们大家在DX11的细分曲面中看到的高细节画面。
通过上述的分析,大家应该可以得出一个结论,实际上细分曲面负责的仅仅是为后续的提升画质的运算提供物质基础,无论是置换贴图和平滑效果,都需要有大量多边形的存在才能实现。试想,如果开发者想在一个三角形上通过置换贴图实现一座城市的地貌效果,空有精美的置换贴图,区区三个顶点如何形变拉伸?巧妇难为无米之炊,但如果给你100000个顶点呢,事情就容易多了。
实际上,从用户的角度讲,这一段的内容并不重要,从曲面细分上获得什么样的快乐才是他们关心的,而非原理。
Tessellation是完全可编程的,换句话说,那就是随机应变的——它提供了多种插值顶点位置的方法来创造各种曲面:
7.3 当Tessellation遭遇“法线贴图”
很多用户都知道凹凸贴图(Bump Mapping)、法线贴图(Normal Mapping)等技术,可以通过贴图的方式提升模型的细节。但是这些贴图技术说白了只是在模型表面贴了一层涂料来欺骗我们的眼睛,物理模型本身形状没有任何变化。这样做的结果就是,进行深度较大的视角偏移或者拉近观看,很容易看出破绽。就算请了董卿去,最后终究是要露馅的。
相比之下,曲面细分就实诚的多了。
它可以读取发现贴图的信息,实现真实的顶点位移,直接对模型的外形产生影响,让模型具备真实可信的细节。这个程序模块有多复杂,我不得而知。但是结果就是,这些大量多边形产生模型顶点位移对系统资源占用极小,甚至我们可以认为它的开销是免费的。
如果你还没听明白,就看看上面这幅图。
置换贴图是通过一张黑白贴图,通过颜色深浅的不同来确定对应的顶点的偏移量,控制曲面细分去产生新的顶点,制造出新的模型。
有了它,曲面细分终于可以大展拳脚了!
通过细分曲面新产生的大量新顶点都是实际存在的,也就是都有三维空间坐标,通过程序的控制,让它再没事位移一下也就不难了。但为什么要让它位移呢?
7.4 动起来更精彩:曲面细分究极奥义
因为拟真游戏追求的是逼真,而自然界不光是由固体组成,还有液体和气体。本来为了让物理模型更加细致的一个技术,能用到这个份上,算是意外的惊喜了。
至于这个技术是怎么实现的我们也不用去钻牛角尖了,总之那些工程师不是吃干饭的。至少研究DX11的那些不是。他们不满足已有的成功,通过程序控制那些细分出来的顶点。这样一来,就轻而易举(希望微软的技术开发小组看不懂中文)的实现了动态效果,比如说水面或者飘动的旗帜。
开启曲面细分左右形成鲜明对比
照片级别渲染,几乎可以以假乱真
通过Occean technology demo这个测试可以非常明显的观察到,打开曲面细分技术,海面将呈现出明显不同的变化。特别是当级数提升后,海面的细节就变得极为丰富逼真。在曲面细分技术出来之前,这个效果是绝对不敢想象的。
当然也不是完全没有,《Crysis》中,Crytek2引擎就采用了一种叫做Screen-Space Tessellation的技术,但归根结蒂这也是曲面细分,从这方面讲当年Crysis开发组可谓比微软眼光要超前。
说起物理运算相必大家都不会陌生,首当其中可能会想到GPU加速,少数PhysX游戏,这其实是一个误区,原因只是他们曝光率高罢了,物理运算大量应用于现在的游戏当中,无处不在。
7.5 当Tessellation遭遇“物理运算”
与流体表面相类似,通过曲面细分技术,我们还可以得到更加真实的其它物理运算效果。这就取决于你用什么去控制曲面细分了,如果加入重力函数,加入空气流体特性函数,那飘扬的旗帜就是小菜一碟了。
同样,因为上文说到曲面细分近似“免费”的性能,我们可以肆无忌惮的将其利用到极致,比如上图中人类头发的效果,它们都拥有了更自然顺畅的飘动效果。这是因为,他们每根头发都是独立的模型!当然,是相对“免费”的,如果采用传统方法实现,离实时渲染还相去甚远。
到这里大家知道为什么AMD和NVIDIA在真假DX11上干的那么起劲了吧,Tessellation作为一个模块函数,这个玩意的确有化腐朽为神奇的能力,也是DX11的“招牌动作”。
此前在测试阶段,微软将DirectX 11中包含的GPU通用计算称为Compute Shader或DirectX Compute,而在正式版本中又改名为DirectCompute,一字之差何苦呢?显然,微软为了将GPU通用计算和主要是3D应用的DirectX区别开,进一步凸出DirectCompute的重要性并与OpenCL分庭抗力,由此足以见得微软对GPU通用计算的重视程度。
8.1 DirectCompute和它的竞争对手
DirectCompute主要针对GPU计算,但由此可以衍生出一些在图形渲染方面的特殊应用,因此笔者将其单列一章,对一些重要技术进行详细介绍。
提起GPU通用计算,自然会让人想到NVIDIA的CUDA、ATI的Stream以及开放式的OpenCL标准,再加上微软推出的DirectCompute,四种技术标准令人眼花缭乱,他们之间的竞争与从属关系也比较模糊。
首先我们来明确一下概念:
1. OpenCL类似于OpenGL,是由整个业界共同制定的开放式标准,能够对硬件底层直接进行操作,相对来说比较灵活,也很强大,但开发难度较高;
2. DirectCompute类似于DirectX,是由微软主导的通用计算API,与Windows集成并偏向于消费领域,在易用性和兼容性方面做得更出色一些;
3. CUDA和Stream更像是图形架构或并行计算架构,NVIDIA和ATI对自己的GPU架构自然最了解,因此会提供相应的驱动、开发包甚至是现成的应用程序,通过半开放的形式授权给程序员使用。
其中ATI最先提出GPGPU的概念,Folding@Home和AVIVO是当年的代表作,但在被AMD收购后GPGPU理念搁浅;此后NVIDIA后来者居上,首次将CUDA平台推向市场,在这方面投入了很大的精力,四处寻求合作伙伴的支持,并希望CUDA能够成为通用计算的标准开发平台。
NVIDIA CUDA架构示意图
在NVIDIA大力推广CUDA之初,由于OpenCL和DirectCompute标准尚未定型,NVIDIA不得不自己开发一套SDK来为程序员服务,这套基于C语言的开发平台为半开放式标准(类似与Java的授权形式),只能用于NVIDIA自家GPU。AMD始终认为CUDA是封闭式标准,不会有多少前途,AMD自家的Stream平台虽然是完全开放的,但由于资源有限,对程序员帮助不大,因此未能得到大量使用。
8.2 CUDA和Stream之争的内幕
OpenCL一经提出就受到业界的大力支持
于是在2008由苹果牵头,以苹果OpenCL草案为基础,联合业界各大企业共同完成了标准制定工作。随后Khronos Group成立相关工作组,工作组的26个成员来自各行各业,且都是各自领域的领导者,具体包括3DLABS、Activision Blizzard、AMD、苹果、ARM、Barco、博通、Codeplay、EA、爱立信、飞思卡尔、HI、IBM、Intel、Imagination、Kestrel Institute、摩托罗拉、Movidia、诺基亚、NVIDIA、QNX、RapidMind、三星、Seaweed、TAKUMI、德州仪器、瑞典于默奥大学。
OpenCL标准一经成立,IT三巨头Intel、NVIDIA和AMD都争先恐后的加入支持。AMD由于自家Stream推广不利、支持OpenCL并不意外;Intel潜心研发的Larrbee GPU一大卖点就是强大的计算能力,支持OpenCL有百利而无一害;NVIDIA虽然在大力推广CUDA开发平台,但无奈势单力薄,小有所成但前途未卜,OpenCL虽然与CUDA C语言有交集但并不冲突,是相辅相成的互补关系,NVIDIA自然也大力支持。
OpenCL组织中唯独微软不在其列,微软有自己的如意算盘。经过多年的发展,DirectX凭借快速更新换代策略、相对轻松的开发与移植方式,在与OpenGL的交战中已全面占据上风,OpenGL的传统强项——专业绘图领域也在被DirectX不断的蚕食。因此微软打算用相同的策略来对抗尚未站住根基的OpenCL,于是DirectCompute诞生了。
就如同GPU能同时支持DirectX与OpenGL那样,NVIDIA和AMD对DirectCompute和OpenCL都提供了无差别支持,真正的GPU通用计算之战,不在CUDA与Stream之间,因为Stream根本不是CUDA的对手,而是OpenCL与DirectCompute之争,DX11时代才刚刚开始……
虽说DirectCompute标准才刚刚问世,但目前已经有了三个版本,它与微软的DirectX版本是一一对应的(10.0、10.1、11.0),毕竟DirectCompute目前还只是DirectX的一个子集,羽翼未丰之前难以自立门户。
8.3 DirectCompute 10/11版本间的区别
新一代Windows 7操作系统已经内置了DX11及DirectCompute,对GPU通用计算提供原生支持。Win7对GPU的要求放得很宽,只要支持DX10即可,当然DX10.1更好DX11最完美。
DirectCompute是与DX11一同发布的,因此相比“过去式”的10.0版,DirectCompute 11作出的改进比较多:
可以看出,同DX11类似,DirectCompute 11的改进主要集中在降低系统资源开销与提高效能方面,也就是说新的DX11显卡会有更强的通用计算效能。而旧的DX10显卡虽然会慢一些,但实现的功能也不会差多少,如此一来就完美的解决的兼容性问题,也能很好的凸出新显卡的优势,用户和厂商皆大欢喜。
虽然DirectCompute的主要任务是用来处理非图形运算,但很多时候它还是需要做一些图形相关的擦边球任务、或者是辅助图形渲染,比如说视频数据处理、物理运算、人工智能等,这些操作最终还是需要通过显卡输出至屏幕,因此计算着色器会经常与像素着色器打交道,当像素着色器使用到计算着色器的新特性之后,就会衍生出一些意想不到的新特效。
8.4 DirectCompute11的妙用:顺序无关透明
接下来就为大家介绍一些属于DirectCompute 11的新技术,当然它们也属于DX11的范畴。
烟雾、火焰、流水、玻璃、树叶、栅栏、头发……游戏中所出现的半透明物体数不胜数,程序员很难给这些物体设计一个固定的模型,它们不规则、随机的特性决定了单纯依靠传统的像素着色或者纹理贴图都是行不通的,因此这类物体有了一个新的称呼——Order Independent Transparency (OIT,顺序无关透明化)。
OIT非常适合处理玻璃窗这样的半透明物体
此前,程序员必须在每帧渲染之前对透明模型进行深度排序或者执行诸如深度剥离的Multi-Pass(多次)算法,以达成模型间正确的透明度。不管哪种办法,都不能像非透明模型那样实现正确的局部的Post-Processing(后处理)效果,而且会消耗很多资源。
DX11则首次在没有额外专用电路的情况下,透过一个每像素空间数据结构对多个透明表面的排序实现对顺序无关透明化的支持,解决方法就是让GPU参与运算,通过使用DirectCompute 11新增的原子操作,无需直接软件管理就能往分级缓存的不同层级装载数据,依照每个像素透明层数来分配独占的内存。如此一来程序设计的复杂度显著降低,并且数据结构可以采用难以预测的非结构化的内存存取,DirectCompute 11新增的附加缓冲也会派上用场。
由于DX10不支持原子操作,因此无法支持顺序无关透明化这项新特效,只能依靠传统的方式来实现差强人意的效果。而DX11不但画面更好,而且实现效率非常高,大量使用附加缓冲从而节约了显存带宽消耗。
在《战地:叛逆连队2》的DX11版本中就运用OIT技术,如在通过建筑和载具的窗户观察窗外的景物,窗外景物同玻璃材质的混合、畸变就用到这样的OIT技术,不过开发商DICE考虑到多人游戏公平性的问题,在多人游戏中DX10和DX11两者的效果会使一致的,只是DX11会提升速度。
就像大家通过数码相机拍完照片后需要经过PS处理一样,3D模型在GPU内部渲染完成后也会经过后端处理才会显示在屏幕上,这一过程叫做“Render Post-Processing”(渲染后端处理),常见的如“边缘侦测与抗锯齿、各向异性过滤、景深、运动模糊、色彩映射、滤波、锐化”等一些列特效都是在这一阶段加上去的。
8.5 DirectCompute11的妙用:电影级景深
GPU有专门负责渲染后端处理的模块,叫做“Render Back-Ends”(ROPs),也就是通常所说的光栅单元,这个模块位于流处理器与显存控制器之间,也就是说它渲染完毕后将会把数据直接输出到显存与屏幕。
在DX10时代,光栅单元的任务量是很重的,如果大量使用后端处理特效的话,很容易出现像素着色器等待光栅单元的情况出现。所以很多DX10游戏的GPU负载还不如DX9C游戏就不足为怪了。而DX11则通过一个巧妙的方式降低了光栅单元的负担,确保流处理器和光栅单元能够协同工作,原理依然是使用计算着色器。
各种后端处理特效的最终效果虽然千差万别,但它们大多数都有一个共同的特点,那就是需要对比相邻位置像素或者相邻帧之间像素的差别,然后进行对比与合成。这一拾取动作其实只用一个函数就能完成——Gather4,它使得计算着色器能够越权进行数据采集动作,帮助纹理单元和光栅单元的减轻负担,而且计算着色器的数据采集速度是专用单元的4倍!
DX10版景深特效的实现方法
具体一点例子,比如DX10级别的运动模糊和景深特效,都是通过几何着色来实现的,通过几何着色控制运动物体的坐标变换与像素监控,或将深度帖图中的纹理信息按照距离拆分到缓冲,然后分为几个不同的视角进行渲染,最后合成完整的图像,实现比DX9C更精确、更流畅的特效。画面效果是更出色了,但几何着色并没有帮助光栅单元做任何事情,数据处理反而翻了好几倍,导致性能下降比较严重。
而通过使用DirectCompute 11中的新指令,后端处理特效可以最大限度的降低显存读写次数、大幅降低光栅单元的负担,当然流处理器将会承担更多的任务(几何着色、计算着色、像素着色、外壳着色和域着色),但依然能够保持相对的平衡,不会出现DX10当中GPU资源负载不均的情况。
DX11新作《地铁2033》当中使用DirectCompute11实现景深效果
《地铁2033》对比:点击放大仔细观赏人物背景的差别
刚刚发布的DX11大作《地铁2033》就使用了DX11级别的景深效果,清晰和虚化合理分配、主次分明,再搭配Tessellation技术的辅助,几乎接近与电影的拍摄效果,看起来有种赏心悦目的感觉。但该游戏由于使用了太多尖端图形技术,所以要求非常苛刻。
“环境光遮蔽”(Ambient Occlusion,AO)是一种非常复杂的光照技术,通过计算光线在物体上的折射和吸收在受影响位置上渲染出适当的阴影,进一步丰富标准光照渲染器的效果。“屏幕空间环境光遮蔽”(SSAO)就是该技术的一个变种,现已用于《孤岛危机》、《潜行者:晴空》、《火爆狂飙》、《鹰击长空》、《帝国:全面战争》等游戏。
8.6 DirectCompute11的妙用:高清晰环境光
《鹰击长空》支持SSAO和DX10.1
DX10也能实现SSAO特效,《Crysis》就大量使用了该技术,但其它DX10游戏却很少使用SSAO,因为效率太低。NVIDIA在驱动当中提供了强制SSAO的选项,可以让一些老游戏的画质也得到改善,但性能损失确实很大默认情况下是关闭的。
NVIDIA驱动可以让任何游戏都支持SSAO
DX10.1中的出现让SSAO得到了普及,程序员可以用Gather4函数来进行加速渲染,它只能处理单一的颜色分量,但依然适合处理阴影内核和SSAO,因为深度缓冲是一个单颜色分量。而在DX11中,Gather4再次升级,它可针对特定的颜色分别采样,可自动识别能做阴影映射的值,从而实现更快更好的阴影过滤。
《潜行者:晴空》支持SSAO,其资料片则支持HDAO,效果更上一层楼
DX11对于Garher4函数特性的增强使得AO又有了更优秀的版本,称之为High Definition Ambient Occlusion(HDAO),即高清晰环境光遮蔽。HDAO和SSAO都能向下兼容旧硬件,但运行速度会打折扣。换句话说,DX11和DX10.1是在改进算法、优化性能的基础上,使得显卡有能力渲染出更复杂、更完美的特效,而DX10虽然在也能达到同样的画面效果,但速度会很慢,实用性不大。
《BattleForge》noAO、SSAO和HDAO效果对比
在ATI HD5870发布当天,《BattleForge》这款游戏就通过补丁从DX10.1升级至DX11,它只使用了DX11中的一个技术,那就是用DirectCompute 11加速HDAO,通过我们实际测试来看,DX11的确能够让HDAO效率提升20-30%之多。此外DX11大作《异形大战铁血战士》也大量使用了HDAO特效和DirectConpute11技术。
有关DX11的相关技术部分讲了那么多,最终还是要体现在产品方面,上文说到GTX590使用了两个GF110核心,而GF110核心事实上早在GTX480上就已经设计应用了,只不过当时掣肘于制造工艺,NVIDIA不得不屏蔽一部分流处理器。这就是名字完美但规格不完整的第一代Fermi核心,传说中的——GF100。
从设计之初,NVIDIA就对它寄于了非常高的期望:
1.史上最快的GPU,出类拔萃的游戏性能
2.超高的抗锯齿精度和效能,一流的图像质量
3.不可思议的几何性能,通过DX11实现电影级的逼真度
4.革命性的计算架构,DX11和通用计算两不误
很显然这并不是通过修改GT200让它支持DX11就能实现的,NVIDIA想要的是一颗更加具有前瞻性的、完美的多功能智能GPU。那NVIDIA最终做到了么?GF110是否有资本傲视群雄?本章将揭开Fermi GPU 架构的真相!
9.1 构架如此接近CPU的GPU
从DX10到DX10.1再到DX11,转眼间显卡已经发展到了第四代,但有经验的读者应该可以发现,ATI的新产品只是在R600核心的基础上添加新的ShaderModel指令集并扩充流处理器规模而已,对于GPU图形架构的改进十分有限甚至原封未动。
NVIDIA方面也是如此,G92/GT200相对于G80也只是强化了并行计算架构,虽然对流处理器的排列组合做了一些微调,但整体架构没有本质变化。到了DX11时代,NVIDIA认为旧的架构已经不适合新技术和新游戏的需要,有必要对GPU架构进行大幅度的改进、甚至是重新设计。
为GT200架构添加DX11和Tessellation支持是很容易的
实际上G80和GT200的架构也是非常优秀的,ATI即便有DX10.1的辅助,同时代产品都没能占得任何便宜。ATI沿用R600的架构推出了DX11产品,按理说NVIDIA为GT200添加DX11支持也不是什么难事,性能也不会差,那为什么NVIDIA不这样做呢?
GPU史上从来没有哪一个构架能够如此接近CPU,甚至是并行多核CPU的程度,GF100是第一个。
纵观GF100构架,众多技术亮点举不胜举,而首次引入GPU构架的多级cache结构、分为两级的线程分配管理体系、并行式的GPC单元设计、增大的shared memory以及彻底融入运算部分的TS单元更是重中之重。
9.2 八倍于上代旗舰的几何性能
多级cache的引入不仅使得运算单元可以享受CPU才能够享有的包含一致性的高速缓冲平台,为整个体系提供了真正联通本地显存和寄存器的直接双向读写手段,其可编程的操作方式更可以令其在要求透明延迟的shared和应对寄存器溢出的cache、甚至是texture cache之间自由转化,灵活的应对不同的传统场合和新的DirectX 11中关于Compute Shader部分的需求。
GF100构架除了在体系最外围配备了充足的线程仲裁资源意外,每个SM内部也都配备了完整的分派式多线程管理单元。多级的线程分派机制可以保证kernel在不同的GPC内被解离成Thread之后依旧能够让ALU团簇在第一时间得到任务。
之前在G80上出现并且一直持续至今的融入SM的分离式Texture Arroy设计在GF100上产生了重大的影响。GF100体系分成四个对等并且完全并行的GPC单元,每个GPC单元都包含独立的几何引擎以及光栅化流水线,GPC模块之间透过新加入的L2 cache进行通讯、kernel和Thread的协调以及数据共享。这不仅使得GF100的三角形吞吐能力较之同规模的旧结构提升了300%,可以实现并行的分块化的渲染动作,更使得DirectX 11所要求的TS单元直接融入到了整个光栅化流水线内部。
GTX480的几何性能达到GTX285的8倍之多!
不管GPU架构改不改,流处理器数量总是要扩充的,准确的说是以级数规模增长,这样才能大幅提升理论性能。在流处理器数量急剧膨胀之后,如何管理好如此庞大的规模、并与其它模块协调工作成为新的难题。
9.3 Fermi(GF100)和Cayman图形架构对比
自从DX10时代以来,ATI在架构上就一直没有太大的变化,即使到了DX11时代的HD5000/HD6000系列产品上,其核心架构仍然延续当年R600的设计思想。当然,细节进行了改进。
HD6970/HD6950(Cayman)核心架构图
这一次发布的HD6900系列从整体架构上来说也没有什么变化,和之前的几代产品都差不多。不过在一些细节的改进上,采用 Cayman 核心的 HD6900可以说是改进最多的一款产品,抛弃了沿用数年的VLIW5架构(俗称5D),而采用了VLIW4架构,增强了后端渲染能力,DX11中的Tesselation执行单元也从一个增加到了两个。
GF100芯片透视图,GF100图形架构:居然是四核心GPU
如果说Cypress是“双核心”设计的话,那么GF100的流处理器部分就是“四核心”设计,因为GF100拥有四个GPC(图形处理器集群)模块,每个GPC内部包含一个独立的Raster Engine(光栅化引擎),而在以往都是整颗GPU共享一个Raster Engine。
在特性方面,除了完全符合DirectX 11关于Compute Shader和并行kernel所要求的硬件环境之外,GF100还支持分支论断和基于CTA(线程块)级别的乱序执行,这使得GF100的整体Thread效率得到了进一步的显著提升。
当然,由于NV自GT200一来对通用计算市场的规划和态度,GF100中包含着规模庞大的DP单元,在特性上也支持了虽然同样划时代但仅对C++体系有巨大意义的统一定址体系。这部分晶体管的沉重负担不仅对图形过程毫无助益,甚至直接导致了NVIDIA不得不再次在纹理和后端作出了妥协,削减了纹理资源与运算资源的比例。这也是无法被抹杀的事实。
我们知道RV870的Rasterizer和Hierarchial-Z双份的,而GF100则是四份的,虽然命名有所不同但功能是相同的。
9.3 GF100/110图形架构:强大的多形体引擎
GF100的四个GPC是完全相同的,每个GPC内部囊括了所有主要的图形处理单元。它代表了顶点、几何、光栅、纹理以及像素处理资源的均衡集合。除了ROP功能以外,GPC可以被看作是一个自给自足的GPU,所以说GF100就是一颗四核心的GPU。
在每个GPC内部,是由四组SM共享一个Raster Engine,现在我们进一步细分GF100,来详细看看SM的结构。
GF100拥有四个GPC,每个GPC内部拥有四组SM,每组SM内部包括了32个CUDA核心:
G80=8 TPC=8x2 SM=8x2x8 SP
GT200=10 TPC=10x3 SM=10x3x8 SP
GF100=4 GPC=4x4 SM=4x4x32 SP
现在我们就可以了解到,GF100与上代的GT200和上上代的G80相比,SM的变化非常大。GF100每组SM当中拥有32个流处理器,而GT200/G80的每组SM都是8个流处理器。在SM内部流处理器数量翻三倍的同时,GPC/TPC的构成也发生了变化,G80每个TPC内部拥有2组SM,GT200是3组SM,而GF100每个GPC内部则是4组SM。
对于CUDA核心与SM结构的微调,大家都很容易理解。GF100与GT200最大的不同其实就是PolyMorph Engine,译为多形体引擎。每个SM都拥有一个多形体引擎,GF100核心总共有多达16个。
讲完了GPC(内含光栅引擎)和SM(内含多形体引擎)之后,就轮到了GF100的最小单元——流处理器,现在NVIDIA将它称为CUDA核心。
9.4 GF100图形架构:第三代流处理器的诸多改进
论单个CUDA核心,GF100与GT200/G80的基本功能是相同的,沿用了之前的1D标量流处理器设计,无论程序要求什么类型的指令,都可以通过线程分配器打散之后交给CUDA核心处理,从而保证任何指令都能获得100%的执行效率。
GF100的SM与CUDA结构
虽说像素和顶点等4D指令依然是主力,但在进入DX10时代后Z缓冲区(1D)或纹理存取(2D)等非4D指令所占比重越来越多,此时NVIDIA的标量流处理器架构处理起来依然如鱼得水。
● CUDA核心的改进:
每一个CUDA核心都拥有一个完全流水线化的整数算术逻辑单元(ALU)以及浮点运算单元(FPU)。GF100采用了最新的IEEE754-2008浮点标准,2008标准的主要改进就是支持多种类型的舍入算法。新标准可以只在最终获取数据时进行四舍五入,而以往的标准是每进行一步运算都要四舍五入一次,最后会产生较大的误差。
GF100能够为32bit单精度和64bit双精度运算提供FMA(Fused Multiply-Add,积和熔加)指令,而GT200只在64bit时才能提供。FMA不仅适用于高性能计算领域,事实上在渲染紧密重叠的三角形时,新的FMA算法能够最大限度的减少渲染误差。
● 16个载入/存储单元:
每一个SM都拥有16个载入/存储单元,从而在每个时钟周期内均可为16个线程运算源地址与目标地址。支持的单元能够将每个地址的数据载入和存储到高速缓存或显存中。
● 四个特殊功能单元:
GF100每个SM内部还拥有额外的四个SFU(Special Function Units,特殊功能单元),可用于执行抽象的指令,例如正弦、余弦、倒数和平方根,图形插值指令也在SFU上执行。每个SFU在一个时钟周期内针对每个线程均可执行一条指令,一个Warp(32个线程)的执行时间可超过八个时钟周期。SFU流水线从分派单元中分离出来,让分派单元能够在SFU处于占用状态时分发给其他执行单元。复杂的程序着色器在特殊功能专用硬件上的运行优势尤为明显。
● 双Warp调度器:
SM可对32个为一组的并行线程(又叫做Warp)进行调度。每个SM拥有两个Warp调度器以及两个指令分派单元。这样就能够同时发出和执行两个Warp。
GF100的双Warp调度器可选出两个Warp,从每个Warp发出一条指令到16个核心、16个载入/存储单元或4个特殊功能单元。因为Warp是独立执行的,所以GF100的调度器无需检查指令流内部的依存关系。通过利用这种优秀的双指令执行(Dual-issue)模式,GF100能够实现接近峰值的硬件性能。
大多数指令都能够实现双路执行,两条整数指令、两条浮点指令或者整数、浮点、载入、存储的混合指令以及SFU指令均可同时执行。但双精度指令不支持与其它指令同时分派。
GF100的每个SM都拥有4个纹理单元,这样整颗核心总共就是4x16=64个纹理单元,数量居然仅与G92处在同一水平。要知道GTX480被屏蔽了一组SM之后纹理单元只剩下60个,而自家上代GTX285和对手HD5870都拥有80个纹理单元。难道说NVIDIA认为DX11时代纹理贴图并不重要,因此在扩充流处理器规模的同时忽略了纹理?
9.5 精兵简政的纹理单元
GT200的流处理器与纹理
G92的流处理器与纹理
在以往的GT200架构中,是三个SM共享一个纹理引擎,该引擎含有八个纹理定址单元和过滤单元。更早的G92则是两个SM共享一个纹理引擎。
GF100的纹理单元确实是少了,但NVIDIA重新设计了纹理单元,通过改进效率来提升纹理性能,而不是以暴力扩充规模的方式实现,因为NVIDIA发现庞大规模的纹理单元也存在瓶颈,而且会浪费很多晶体管。
GF100的每组SM内部包含4个纹理单元
NVIDIA的方法听起来很简单,但做起来很复杂——就是将纹理单元从外围模块搬入到了SM之中,从而提升了纹理高速缓存的利用率、并达到了更高的时钟频率。道理就类似于AMD和Intel把内存控制器整合在了CPU内部,从而大幅提升了内存带宽和延迟。
我们知道,N卡的流处理器工作频率非常高,达到了核心频率的两倍甚至更高,而其包括纹理单元、光栅单元及周边控制模块在内的其它部分工作频率比较低。现在NVIDIA将纹理单元转移到了SM内部之后,大幅提高了工作频率,全新的一级缓存将以1200-1400MHz的全速运行,纹理单元虽然还是以半速工作但也受益匪浅。
在GF100架构中,每个SM都拥有自己专用的纹理单元并共享一级纹理高速缓存,GF100专用的1级纹理高速缓存经过重新设计,可实现更高的效率。而且,通过配备统一的2级高速缓存,纹理可用的最大高速缓存容量达到了GT200的三倍,为纹理密集的着色器提升了命中率。
每个纹理单元在一个时钟周期内能够计算一个纹理地址并获取四个纹理采样。返回的结果可以是经过过滤的也可以是未过滤的。支持的模式包括双线性、三线性以及各向异性过滤模式。
而且,纹理单元的内部架构还得到了大幅增强。在阴影贴图、屏幕空间环境光遮蔽等实际使用情况中,净效应就是所实现的纹理性能得到了大幅提升。
GF100的纹理单元还新增了对DirectX 11中BC6H与BC7纹理压缩格式的支持,从而减少了HDR纹理与渲染器目标的存储器占用。
纹理单元通过DirectX 11的Gather4特性,还支持抖动采样。这样一来,单一纹理指令就能够从一个128×128的像素网格中获取四个纹理像素。GF100在硬件上采用了DirectX 11四偏置点Gather4,大大加快了阴影贴图、环境光遮蔽以及后期处理算法的速度。凭借抖动采样,游戏就能够高效地执行更加平滑的软阴影或定制纹理过滤器。
GF100核心拥有很多种类的缓存,他们的用途不尽相同,其中一级缓存、共享缓存和纹理缓存位于SM内部,二级缓存则是独立的一块,与光栅单元及显存控制器相连。
9.6 一级缓存与二级缓存
● 64KB可配置共享缓存与一级高速缓存
以往的GPU都是没有一级缓存的,只有一级纹理缓存,因为这些缓存无法在通用计算中用于存储计算数据,只能用于在纹理采样时暂存纹理。而在GF100当中,NVIDIA首次引入真正的一级高速缓存,而且还可被动态的划分为共享缓存。
在GF100 GPU中,每个SM除了拥有专用的纹理缓存外,还拥有64KB容量的片上缓存,这部分缓存可配置为16KB的一级缓存+48KB共享缓存,或者是48KB一级缓存+16KB共享缓存。这种划分方式完全是动态执行的,一个时钟周期之后可自动根据任务需要即时切换而不需要程序主动干预。
一级缓存与共享缓存是互补的,共享缓存能够为明确界定存取数据的算法提升存取速度,而一级缓存则能够为一些不规则的算法提升存储器存取速度。在这些不规则算法中,事先并不知道数据地址。
对于图形渲染来说,重复或者固定的数据比较多,因此一般是划分48KB为共享缓存,当然剩下的16KB一级缓存也不是完全没用,它可以充当寄存器溢出的缓冲区,让寄存器能够实现不俗的性能提升。
而在并行计算之中,一级缓存与共享缓存同样重要,它们可以让同一个线程块中的线程能够互相协作,从而促进了片上数据广泛的重复利用并减少了片外的通信量。共享存储器是使许多高性能CUDA应用程序成为可能的重要促成因素。
● 共享式二级高速缓存
GF100拥有一个768KB容量统一的二级高速缓存,该缓存可以为所有载入、存储以及纹理请求提供服务。二级缓存可在整个GPU中提供高效、高速的数据共享。物理效果、光线追踪以及稀疏数据结构等事先不知道数据地址的算法在硬件高速缓存上的运行优势尤为明显。后期处理过滤器需要多个SM才能读取相同的数据,该过滤器与存储器之间的距离更短,从而提升了带宽效率。
统一的共享式缓存比单独的缓存效率更高。在独享式缓存设计中,即使同一个缓存被多个指令预订,它也无法使用其它缓存中未贴图的部分。高速缓存的利用率将远低于它的理论带宽。GF100的统一共享式二级高速缓存可在不同请求之间动态地平衡负载,从而充分地利用缓存。二级高速缓存取代了之前GPU中的二级纹理缓存、ROP缓存以及片上FIFO。
GF100的缓存架构让各流水线之间可以高效地通信,减少了显存读写操作
统一的高速缓存还能够确保存储器按照程序的顺序执行存取指令。当读、写路径分离(例如一个只读纹理路径以及一个只写ROP路径)时,可能会出现先写后读的危险。一个统一的读/写路径能够确保程序的正确运行,同时也是让NVIDIA GPU能够支持通用C/C++程序的重要因素。
与只读的GT200二级缓存相比,GF100的二级高速缓存既能读又能写,
而且是完全一致的。NVIDIA采用了一种优先算法来清除二级缓存中的数据,这种算法包含了各种检查,可帮助确保所需的数据能够驻留在高速缓存当中。
从HD4000时代开始,AMD改进ROP单元设计之后抗锯齿效能大增,在标准的4xMSAA模式下已经与N卡不相上下,而在最高的8xMSAA模式下大幅领先于N卡。NVIDIA虽然提供了比较巧妙的高精度CSAA模式,但画质方面还是比不上正统的MSAA,基于8xMSAA的更高级别8xQ AA与16xQ AA也毫无用武之地,因为N卡的8xMSAA效能偏低。
为了一雪前耻,NVIDIA在GF100当中重新设计了ROP单元(后端渲染单元,俗称光栅单元)。主要是大幅提升了数据吞吐量与效率,上页介绍过GF100的L2已经不再与ROP及显存控制器绑定在一起,而且是全局共享的,因此存取效能与带宽大幅提升。
9.7 光栅单元与32倍抗锯齿
GF100的每个ROPs包括8个ROP单元,比GT200翻了一倍。这8个ROP单元可在一个时钟周期类输出8个32bit整数像素、4个16bit浮点像素或2个32bit浮点像素。原子指令性能也得到了大幅提升,相同地址的原子操作执行速度最高可达GT200的20倍,邻近存储区的操作执行速度最高可达7.5倍。
在GF100上,由于压缩效率的提升以及更多ROP单元能够更有效地渲染这些无法被压缩的较小基元,因此8倍速多重采样抗锯齿(8xMSAA)的性能得到了大幅提升。
在上代架构中,由于ROP资源有限,在进行高倍抗锯齿采样的同时还执行渲染后端处理任务时(如SSAO、运动模糊、景深等),效率会非常低下。典型的比如《鹰击长空》、《晴空》等等。
GF100不仅ROP资源非常丰富,而且可以在DirectCompute 11的帮助下减轻ROP部分的负载,提高执行效率,此时开启高倍抗锯齿就没什么压力了。
● 将CSAA精度提升至32倍,并优化算法实现更高画质
解决了8xMSAA效率抵消的问题之后,NVIDIA在此基础上更上一层楼,开放了更高级别的32x CSAA抗锯齿模式,上代精品只能提供16xQ CSAA而且实用性并不高。同时新的抗锯齿模式还优化了“透明覆盖”(Alpha-to-Coverage)采样的算法,实现更高的画质:
受到API与GPU计算能力的限制,当今的游戏能够渲染的几何图形数量还很有限。树叶的渲染是一个尤其突出的难题。针对叶子的一种常用技术就是创建一个包含许多树叶的透明纹理模版,利用“透明覆盖”来除去树叶之间的缝隙。覆盖采样的数量决定了边缘的画质。如果只有四个覆盖或八个采样,那么将会出现非常糟糕的锯齿以及镶边现象,尤其是在纹理靠近屏幕的时候。采用32倍速覆盖采样抗锯齿(CSAA),GPU共有32个覆盖采样,从而最大限度减少了镶边效果。
32x CSAA相比8x MSAA性能损失并不大,非常值得一试
透明多重采样(TMAA)也能够从CSAA中获益匪浅。由于“透明覆盖”不在DirectX 9 API当中,所以DirectX 9游戏无法直接使用“透明至覆盖”。而TMAA恰恰对这样的游戏有所帮助。取而代之的是,它们采用了一种叫做“透明测试”的技术,该技术能够为透明纹理产生硬边缘。TMAA能够转换DirectX 9应用程序中旧的着色器代码,使其能够使用“透明覆盖”。而“透明覆盖”与CSAA相结合,能够生成大幅提升的图像质量。
自从NVIDIA于1999年发布第一颗GPU(GeForce 256)开始,GPU就已经与并行计算结下了不解之缘,GPU被扩展成为可进行浮点运算的可编程处理器,而不仅仅是图形处理器。GPU无论计算能力还是内存带宽都要远胜于CPU,其性能不应该被限制在游戏和3D渲染之中。这也是Fermi架构和竞争对手GPU架构最大的本质区别。想通过目前为止最优秀的GPU技术一窥未来图形芯片的发展方向吗?本章将从浅显到深刻,为大家打开通用计算GPU的大门!
10.1 异构计算的威力和不足
GPU的性能远远超出了CPU的想象
针对非图形应用程序的GPU编程的探索始于2003年。通过使用高级绘制语言如DirectX、OpenGL和Cg,将多种数据平行算法导入GPU。诸如蛋白质折叠、股票期权定价、SQL查询及MRI重建等问题都能通过GPU获得非凡的加速表现。早期将图形API用于通用计算的努力被称之为GPGPU(GPU通用计算)。
虽然GPGPU模型展现了不俗的加速性能,但仍然有不少缺陷:
首先,它要求程序员全面掌握与图形API以及GPU架构相关的知识;
其次,问题必须以顶点坐标、纹理及着色器程序的形式表达出来,这就大大增加了程序的复杂程度;第三,不支持基础的编程特性如面向内存的随机读写,极大地限制了编程模型;最后,缺乏双精度支持(直到最近才具备这一特性)意味着有些科学应用程序将不能在GPU上运行。
为了解决这些问题,NVIDIA采用了两种关键技术——G80统一图形及计算架构和CUDA。CUDA是一种软硬件架构,可以使用多种高级编程语言来针对GPU进行编程。这两种技术代表着一种新的应用GPU的方式。跟以前通过编程将专门的图形单元同图形API结合到一起不同,程序员可以利用CUDA的扩展来编写C语言程序,并面向一个通用的平行处理器。NVIDIA将这种新的GPU编程方式称为“GPU计算”,它意味着更广泛的应用程序支持、更多编程语言的支持以及同早期GPGPU编程模型的彻底分离。
G80标量流处理器架构的诞生使得全新的GPU计算成为可能,并创造了无数项第一:
第一款支持C语言的GPU,它让程序员可以利用GPU的运算能力而无需掌握一门新的编程语言;
第一款以单一的非统一的处理器取代分离式顶点及像素管线的GPU,这种处理器可以执行顶点、几何、像素及计算程序;
第一款利用标量线程处理器的GPU,从而使得程序员无需手工操控向量寄存器。
G80还采用了单指令、多线程(SIMT)的执行模型,多个独立线程同时执行单个指令,并针对线程间通信采用了共用存储器和障栅同步。
之后NVIDIA又对G80架构进行了重大改进,第二代统一架构GT200将流处理器的数量从128增加到了240个。每一个处理器的寄存器数量增倍,使得任何时候都可以在芯片上处理更多的线程。采用了硬件存储器存取合并技术以提高存储器存取的效率。此外,还采用了双精度浮点运算支持以满足那些科学及高性能计算(HPC)应用程序的需求。
在设计每款新一代GPU时,都必须遵循这样的原则——提高当前应用程序的性能及GPU的可编程性。应用程序的速度提高会立竿见影地带来诸多好处。正是GPU在可编程性方面的不断进步才使得它演变成为当前最通用的并行处理器。也正是基于这样的理念,GT200架构的继任者又被赋予了更多新的功能。
在竞争对手还在游戏性能方面苦苦追赶之时,NVIDIA已经在朝着更高的目标迈进了。3D和游戏当然是一个重要方面,是GPU的老本行,而并行计算则是GPU的未来,两者不但不冲突而且是相辅相成的,NVIDIA的目的是游戏和计算同步发展。
10.2 适合科学计算的Fermi架构
在前文中笔者提到过,GF100是近年来GPU架构变化最大的一次,它不仅仅体现在图形架构方面,其实他在并行计算架构方面的改进更彻底,现在要讲的才是Fermi架构的精华部分。
G80是统一图形及并行计算的雏形,而GT200是对G80在性能及功能性方面的扩展。而对于Fermi,NVIDIA利用了从之前两款处理器以及为它们所编写的应用程序所获得的经验,并采用了一种全新的方法而设计和创建了世界上第一款计算GPU。在为Fermi的研发开展准备工作时,NVIDIA听取了自推出G80和GT200以来大量从事GPU计算的用户的反馈,并将以下关键领域作为改进的重点:
1. 提高双精度浮点运算的性能——高性能计算与科学计算很少用到单精度。
2. ECC支持——ECC使得GPU计算用户在数据中心中可放心地部署大量的GPU,并确保数据敏感型应用程序如医学影像及财务期权定价等不出现内存错误。
3. 真正的缓存层次——有些并行算法无法使用GPU的共用存储器,用户需要一个真正的缓存架构以提供帮助。
4. 更大的共用存储空间——许多CUDA程序员需要超过16KB的共用存储器来实现应用程序的加速。
5. 更快速的情境转换——用户需要在应用程序之间实现更快速的情境转换,以及图形与计算应用之间更快的互操作。
6. 更快速的原子操作——用户需要为他们的并行算法实现更快速的“读-修改-写”原子操作。
针对以上的这些需求,Fermi工作小组设计了一款处理器,总计算能力得到了很大的提升,通过架构上的创新还大大增加了可编程性以及计算效率。Fermi在架构上的亮点体现在:
● 第三代流处理器簇(SM)
每个SM有32个CUDA核,是GT200的4倍
双精度浮点运算的峰值性能是GT200的8倍
双Warp调度器同时调度和分配来自两个不同warp的指令
64KB的RAM,可配置为共享缓存+L1缓存
● 第二代并行线程执行ISA
统一寻址空间,提供完全的C++支持
针对OpenCL和DirectCompute做优化处理
完全的IEEE 754-2008 32-bit/64-bit精度支持
完全的32-bit整数路径,64-bit扩展
内存存取指令支持向64-bit寻址的转换
通过Predication提升性能
● 改进的内存子系统
并行DataCacheTM 层次,拥有可配置的L1和统一的L2缓存
第一款提供ECC内存支持的GPU
显著提升原子内存操作性能
● NVIDIA TM引擎
应用程序情境切换性能10倍于上代产品
同时执行多个核心程序
线程块乱序执行
双重叠式内存传输引擎
Fermi是NVIDIA新一代图形架构的开发代号,包括GeForce、Quadro、Tesla在内的三种产品都将基于Fermi架构设计;GF100是该架构第一颗GPU的核心代号;基于Fermi架构的计算处理器则被称为Tesla C2050/C2070。
10.3 高效的双精度性能
第一款基于Fermi架构的GPU就是GF100,不管是民用级的GeForce还是专业级的Tesla,其GPU核心及架构是完全相同的。此前已经详细介绍了它的图形架构,此处着重介绍并行计算方面的内容。
首先我们来看看Fermi的计算架构与图形架构有何不同呢?原来对于图形架构最重要的光栅化引擎与多形体引擎都不见了,GF100的四块GPC也不再区分,剩下的只有SM、CUDA核心还有缓存。
Fermi的16个SM分布在通用L2缓存的周围。每个SM都是一个垂直的矩形条,包含一块橘色区域(调度和分配)、一块绿色区域(执行单元)和一块淡蓝色区域(寄存器和L1缓存)。
Fermi的流处理器簇已经是第三代了,其改进其实之前在图形架构部分也介绍过,因为这些对于图形渲染或多或少还是有点用的,当然对于科学计算来说简直是革命性的:
首先CUDA内核中的FPU采用了最新的IEEE 754-2008浮点标准,为单精度和双精度算法都提供了FMA指令,FMA在做乘法和加法运算的时候只在最后作一次舍入,不会在执行加法的时候就出现精度损失,FMA的精度比把操作分开执行时更高。
其次,NVIDIA上代的GT200和对手最新的RV870在执行整数型加、乘指令时仅支持24bit精度,因此整数算法需要多指令的模拟序列。而对于Fermi,全新设计的整数ALU支持32位精度,面向所有符合标准编程语言要求的指令。同时,还对该整数ALU进行了优化,使其有效地支持64位及扩展的精度操作。它支持各种指令,包括Boolean(布尔)、shift(位移)、move(数据传输或赋值)、compare(比较)、convert(转换)、bit-field extract(位平面提取)、bit-reverse insert(位反转插入)和population count(计数)。
最最重要的一点,Fermi的双精度运算能力达到了单精度的一半,而上代GT200的双精度能力只有单精度的1/8,对手的RV870是1/5,显而易见此次双精度运算能力的提升是革命性的。
此外,Fermi架构中的双Warp调度器是完全独立的,无需对指令流内的相依性进行检测,在这种双指令发射模型下,Fermi的硬件性能非常接近与理论峰值。
10.4 统一寻址空间实现完全的C++支持
Fermi是第一个支持新并行线程执行(PTX)2.0指令集的体系结构。PTX是级别较低的虚拟机和ISA,目的是为了支持并行线程处理器的运作。在程序安装的时候,PTX指令会被GPU驱动转译成机器代码。
PTX的主要目标包括:
1. 提供一个能跨越数代GPU的稳定ISA
2. 让经过编译的应用程序充分利用GPU的性能
3. 提供一个支持 C、C++、Fortran以及其他编译器对象并且与机器无关的ISA
4. 为应用程序和中间件开发者提供一个代码分发ISA
5. 为优化映射PTX 代码至对象机器的代码产生器和转移器提供一个一般化的ISA
6. 让库以及性能核心程序(performance kernel)代码编写更容易
7. 提供一个可以跨越GPU内核规模(从几个到多个)的可伸缩编程模型
PTX2.0具备许多新的特性,大大提升了GPU(图形处理器)的可编程性、精度及性能。这些特性包括:完全的IEEE 32位浮点精度;所有变量和指针都有统一的寻址空间;64位寻址;以及针对OpenCL和DirectCompute的新指令。尤为重要的是,PTX2.0完全支持C++编程语言。
Fermi和PTX 2.0 ISA采用统一的寻址空间,将存取操作的三个不同的寻址空间(线程的私有局部空间、线程块的共用空间、全局空间)进行了统一。在PTX 1.0中,存取指令都具体对应这三个寻址空间中的一个,程序就可以在一个编译时确知的指定寻址空间中存取数值。这样很难为C和C++指针提供完全的支持,因为一个指针的目标寻址空间在编译时可能根本无从知晓而只有在运行时才能动态确定。
PTX 2.0把三个寻址空间都统一为一个单独、连续的寻址空间,因此只需一套存取指令,而不再需要三套针对不同寻址空间(局部的、共用的及全局存储器)的存取指令。统一寻址空间为40位,可以支持1 Terabyte的可设定地址的内存,而存取ISA支持64位以适应未来的增长。
采用统一的寻址空间让Fermi可以真正支持C++程序。在C++中,所有的变量和函数都存在于对象中,而对象又通过指针进行传递。有了PTX 2.0,就可以利用统一的指针传递任意存储空间里的对象。Fermi的硬件地址转译单元自动将指针参考映射到正确的存储空间。
Fermi和PTX 2.0 ISA还支持C++虚拟函数、函数指针、针对动态对象分配、解除分配的“new”和“delete”操作以及针对异常处理的“try”和“catch” 操作。
● 针对OpenCL和DirectCompute的优化
OpenCL及DirectCompute同CUDA的编程模型有非常密切的对应关系,CUDA里的线程、线程块、线程块格、障栅同步、共用存储器、全局存储器以及原子操作都能在OpenCL和DirectCompute中看到,可以说OpenCL和DirectCompute的整个框架就是照搬CUDA的,因此基于CUDA的Fermi天生就已经为OpenCL和DirectCompute提供了优化。
此外,Fermi还为OpenCL和DirectCompute的表面(surface)格式转换指令提供了硬件支持,允许图形与计算程序能简单地对相同的数据进行操作。PTX 2.0 ISA还为DirectCompute提供了population count、append以及bit-reverse 指令的支持。
NVIDIA在与程序员的沟通与反馈中发现,虽然共享内存能够惠及许多问题,但它并不能够用于解决所有问题。一些算法会自然而言地关联到共享内存,另一些则要求高速缓存,还有一些要求二者的组合。非常好的的内存层级结构应能够同时为共享内存和高速缓存带来优势,同时让编程人员可以选择在二者之上进行设计。Fermi内存层级结构支持两种类型的程序行为。
10.5 首次支持显存ECC
Fermi的缓存层级:其中对于并行计算无用的纹理缓存已被剔除
为加载/存储操作添加一个真正的高速缓存层级结构会带来严峻挑战。传统的GPU架构为纹理操作提供了只读“加载”路径,同时为像素数据输出提供了只写“输出”路径。然而,这一方法在执行要求同时进行读写的通用C或C++线程程序时表现非常不佳。例如,向内存发起一个寄存瀑然后再读回会形成写后读威胁。如果读和写路径不同,可能会直接覆盖掉整个写/“导出”路径,而无法正确发起读操作,从而使得读路径上的任意高速缓存不能与写数据保持一致。
Fermi通过为加载和存储提供单个统一的内存请求路径解决了这一挑战,这一方法为每一个SM多处理器提供一个一级高速缓存,同时设置统一的二级高速缓存,以支持所有操作(加载、存储和纹理)。每个SM多处理器上的一级高速缓存可以进行配置,以支持共享内存和缓存本地与全局内存操作。64KB的内存可分出48 KB用作共享内存,16KB用作一级高速缓存;或者16KB用作共享内存,48KB用作一级高速缓存。当提供48KB的共享内存时,需要广泛使用共享内存的程序(如电子动态模拟)的性能将可以提高三倍。对于预先无法确定内存访问情况的程序,设置48KB的一级高速缓存将能够比直接访问DRAM带来显著改进的性能。
在任意一种配置中,一级高速缓存都可以通过缓存复杂程序的临时寄存器溢出对性能有所帮助。前一代GPU将寄存器直接交给DRAM,从而增加了访问延迟。通过使用一级高速缓存,性能能够随着临时寄存器容量的增加逐步提升。
Fermi采用了一个768KB统一二级高速缓存,用于支持所有加载、存储和纹理请求。二级高速缓存在GPU之间提供了有效、高速的数据共享。针对以前未知的数据地址的算法,如Physics Solver、光线追踪以及稀疏矩阵相乘等,将能够从这一高速缓存结构中受益最大。此外,要求多个SM来读取同一数据的过滤器和卷积内核也能够从中受益。
● 第一款支持ECC显存的GPU
Fermi是第一个在显存中提供了基于纠错码(ECC)的数据保护功能的GPU。CPU计算用户使用ECC来在高性能计算环境中增强数据完整性。ECC是诸如医疗成像以及大型集群计算等领域中一个迫切需要的特性。
自然发生的辐射可能导致内存中的数据被更改,导致软错误。ECC技术能够在单位软错误影响系统之前就予以发现并进行纠正。由于此类辐射所致错误的可能性随已安装系统的数量直线增长,ECC是大型集群部署中的一个必备要求。
Fermi支持单错纠正双错检测(SECDED)ECC代码,能够在数据被访问期间纠正硬件中的任意单位错误。此外,SECDED ECC还确保了所有双位错误和众多多位错误能够被发现和报告,以便能够重新运行程序,而不是继续执行不良数据。
Fermi的寄存器文件、共享内存、一级高速缓存、二级高速缓存和显存均提供有ECC保护功能,从而不仅是适用于HPC应用的最强大GPU,同时也是最可靠的GPU。此外,Fermi还支持行业标准,能够当在芯片间传输数据时对其进行检查。所有NVIDIA GPU均支持用于CRC检查的PCI-E标准,能够在数据链路层进行重试。Fermi还支持用于CRC检查的同类GDDR5标准,能够当数据在内存总线上传输时进行重试(也称作“EDC”)。
是否支持ECC,成为GeForce与Tesla的最大区别,当然Tesla还配备了更大容量的显存,为密集型数据处理提供更高的性能。
NVIDIA Nexus是第一个设计用于支持大规模并行CUDA C、OpenCL和DirectCompute应用的开发环境。它通过将支持并行处理的硬件源代码的调试与性能分析工作直接交由Microsoft Visual Studio进行,有效消除了CPU和GPU之间的生产率差距。Visual Studio是Windows操作系统下使用最广泛的集成应用开发环境。
10.6 NVIDIA Nexus开发平台
Nexus支持Visual Studio开发人员使用与在编写和调试CPU代码时用到的完全相同的工具与接口,来编写和调试GPU源代码,包括来源和数据断点、以及内存检测等。此外,Nexus还扩展了Visual Studio的功能,提供了工具来管理大规模并行计算,如支持对数千个并行运行的线程中的某一个进行检测和调试,以及对所有并行线程计算得出的结果进行高效的可视化呈现等。
Nexus是开发能够同时利用CPU和GPU的协处理应用的非常好的环境。它能够在两个处理器间捕获性能事件和信息,并在单个相互关联的时间线内将信息显示给开发人员。在此基础之上,开发人员能够了解到其应用在整个系统中的执行和表现情况,而不是被局限于某个子系统或处理器。
很显然,Fermi并非简单地添加执行单元构建而成,它解决了GPU计算领域的一些最富挑战性的问题。数据局部性的重要性通过Fermi的两级高速缓存结构及其整合的加载/存储内存路径,得到了充分展现。双精度计算性能被提升到了超级计算级别,同时原子操作的执行速度加快了二十多倍。最后,Fermi的全面ECC支持也有力彰显了NVIDIA大举进攻高性能计算市场的野心。
在软件方面,Fermi架构首次提供了C++和Nexus支持。其中C++是世界上应用最广的基于对象的编程语言;Nexus是全球首个设计用于支持大规模并行GPU计算应用的开发环境。
在GF100身上看到的是推倒重来的设计,高瞻远瞩的理念。NVIDIA自始至终并没有服气过Intel,也并没有亦步亦趋的跟随微软而行,他是一个有自己思想和“野望”的公司。
而AMD则是单纯以构架和DirectX 11针对性的角度出发做产品。“堆砌”和“凑活”这两个词对于核心架构而言似乎不是那么恰当,但在这里找不到更合适的词语来形容了。纯粹从架构和功能角度分析,十年来不论NV30和R300的对决还是R600和G80的比较都不曾出现过这种代差级别的落后。ATI在被AMD收购之后,俨然已经不是曾经我们为之骄傲的红色激进派ATI了,它更像是一个商人,盘算着以最小投资获取最大利益的无比精明而又唯利是图的彻头彻尾的商人!
然而本次测试显然不是HD6990的惨败,不仅没有惨败,甚至从某种意义上来讲,连失败都没有发生。双方所处的格局最终与GT200对RV770时代没有多少变化,依旧是在实际游戏测试中互有胜负,架构优秀,技术领先的GTX590并没有彻底击败HD6990。这又是为何呢?
● 第三势力的介入:游戏厂商
有人会从架构角度分析,认为Fermi的全能流处理器因为多功能而牺牲了高吞吐。但是很多人忽略了本质的原因,图形市场之外的第三方势力。这股势力并没有直接参与竞争,但却正是它决定了游戏的规则,说他是裁判也毫不为过。
众所周知,游戏是衡量显卡性能的标杆。现在,窗边的程序员们不得不面临一个艰难的抉择——PC平台的日新月异吸引着他们,不论微软还是用户的需求似乎都在激励着他们向更加复杂、更加美轮美奂的特效前进。甚至从他们自身的角度来出发,更高的执行效率、更低的编程难度和更加自由的编程环境也在不断的诱惑着他们。但是低头看看荷包,再举目四望一下满目疮痍的生存环境,游戏厂商陷入了迷茫……,前进!还是生存?
毫无疑问,五年前发布的次时代家用机和DX10/11的API形同陌路。所以有了刺客信条一代DX11到2代DX9C的蜕变。Crysis 2也不得不低下了高贵的头颅。时至今日,DX9C API游戏依然门庭若市,先进的DX11还是无人问津。仅有的DX10/11游戏很多也是通过简单的代码升级支持DX11部分特效,说白了就是披着DX11外衣的DX9C游戏。
NVIDIA透过更好的构架设计取得了单芯方面的胜利,而AMD则通过价格优势继续将对手拉入工艺消耗战的漩涡。NVIDIA继续透过设计积累着自己对图形业界发展的认识执着的拓展新的领域,而AMD则继续努力的给上代GPU猛打补丁,并通过对市面上本身并不先进的游戏的良好支持,对NVIDIA的产品线发起有力冲击。
AMD当败不败,NVIDIA当胜不胜,既然裁判站在了不公平的位置,还能有公正的结果吗?
两个企业,两种精神;背道而驰,却又难分伯仲!
(全文完)■
本来就定位非主流,所以很多人可能对双芯显卡并不熟悉,在文章的附录环节,小编就带大家一起缅怀一下落寞的王者,追忆那些曾经叱咤风云的双核卡皇。
X.1 3DFX Voodoo 5500
最早而又最出名的双核心显卡出自当年独孤求败的3DFX之手,凭借深入人心、大获成功的SLI技术,3DFX成功的将两颗VSA-100芯片集成在一张显卡上——3DFX Voodoo 5500:
Voodoo 2的年代是3DFX最光辉的时期,基于对等PCI总线的SLI解决方案让很多玩家体验到了疾速的3D快感。不过之后3DFX的发展并不是一帆风顺,NVIDIA和ATI相继崛起,显卡接口也开始过渡到更快的AGP规格——由于主板上仅拥有一条AGP接口,以至于风光无限的SLI技术面临着“失传”的局面!
在二手市场时不时会出现经典的双核心显卡
于是3DFX在一张显卡上面就实现了两颗核心组建SLI,也就是变相的在AGP接口上实现了本不可能的SLI!Voodoo 5500除了双核心的特点之外,强劲的游戏性能、高分辨率下的游戏表现以及高效能的FSAA都是竞争对手望尘莫及的!
● 双核心的衍生物——四核心Voodoo 5 6000:
此后3DFX由于决策上的失误和技术上的不思进取开始走下坡路,到Voodoo 5的时代已经落后NVIDIA将近一个档次。于是通过单纯增加显示芯片的方法提高显卡性能,推出了四核心的Voodoo 5 6000,核心还是VSA-100芯片:
3DFX的遗腹子全球仅有几十块,极具收藏价值
Voodoo 5 6000还没来得及发布,3DFX就被宿敌NVIDIA所收购,虽然后期3DFX非常失败,但当年的玩家都对巫毒怀有崇高的敬意和痛惜之情——不像如今的A饭N饭一样互相怀有敌意。
ATI也有非常经典的双核心显卡,并且有一个非常好听的名字——曙光女神:
X.2 Rage Fury Maxx——曙光女神
曙光女神,Rage Fury Maxx
ATI Rage Fury Maxx使用了两个Rage 128显示芯片,它的出现是为了对抗同为双核心的Voodoo 5500,不过这两款显卡最后都输给了NVIDIA的GeForce 256——史上第一款GPU!
这是单头的版本
Rage Fury Maxx当时还有好多个版本,不过只有双头输出的才有一定的吸引力,因为这款显卡的性能实在太令人失望!
3DFX的基于SLI技术的Voodoo 5500还算比较成功,因为它的性能强悍。而ATI Rage Fury Maxx不但性能令人失望,而且糟糕的驱动让人非常反感,ATI之后也放弃了更新驱动,这款双核心显卡也渐渐被大家所遗忘!
前面的两款双核心显卡年代都比较久远,而2004年XGI推出的双芯片的Volari V8/V5 Duo显卡应该算是年轻一代了,这也是芯片厂商官方发布的双核心显卡
X.3 昙花一现的挑战者——XGI Volari V8/V5
Volari V8 Duo Ultra同双核心鼻祖Voodoo 5500做个对比
SiS也是当年与3DFX同台竞技的显卡芯片厂商,SiS的显卡虽然3D性能不如3DFX/NVIDIA,但它超强的兼容性以及优秀的DVD视频播放博得了不少人的喜爱。不过AGP大潮过后SiS没落了,之后SiS将自己的图形部门独立了出来,成立了XGI图诚科技,XGI以全新面孔出现之后发布了V8/V5/V3三款全新的DX9图形型片,同时也带来了双核心的解决方案——V8/V5 Duo:
做工非常豪华,发热也不小
即便是XGI最高端的V8核心,也不足以对抗当年NV/ATI的5900/9800,XGI也意识到了这一点,因此V8的定位就是抢占中端市场,实际上V8要比当时的明星产品5700LE和9550强不少,另外让XGI感到自豪的就是V8性能略强于同在夹缝中生存的VIA S3 S8!
两颗V8核心——因为单核心不足以对抗NV/ATI
XGI同样具有野心,也想攻占高端市场,但技不如人,因此XGI希望通过双芯片方案在性能上追赶上NVIDIA和ATI,据测试最高端的V8 Duo Ultra显卡性能几乎追平了9700和5800,不过XGI可能忽略了一点,那就是性价比,当然还有令人头痛的驱动!
双芯片的设计方案导致Volari V8/V5 Duo价格非常高,同时发热量也很大。加之驱动方面并不完善,游戏中画面出现问题,这一切都注定该显卡只能失败。Volari V8/V5 Duo供货数量非常有限,仅仅在欧洲的一些地方出现过两三片。
XGI的双核心产品虽然遭到了失败,但实际上其单核心V8/V5/V3产品还不错,只可惜绝大多数用户都只认准ATI和NVIDIA的产品,对于XGI和S3苦心经营的中低端显卡充耳不闻、视而不见。另外生产XGI显卡的厂商仅有一家,渠道也做得不太好,一直默默无为。
最后的结局相信大家都知道,今年3月份XGI图形部门被ATI收购,XGI的离去没有给大家带来多大震撼,因为它没有留下特别经典的产品,还经历了改名事件,影响力相对较低。
X.4 不为人知的经典——双核心9800Pro
Radeon 9700/9800是ATI非常成功的产品,可能很多人都曾用过这一系列显卡,不过很少有人知道9700/9800也有双核心显卡:
这款双9800Pro显卡并不为人所知,因为这不是ATI官方发布的显卡,而是出自ATI最大的显卡生产厂商蓝宝石之手。
当时9800Pro是优异显卡,那么双9800Pro核心的显卡性能自然非常令人期待,但是和大部分双核心显卡的问题相同,首先与制造成本和产能,货源极其稀少。
实际上双核心9800Pro并没有强调其3D性能有如何强大,因为它是针对有特殊用途的专业图形市场,它能够在特殊环境下达到双倍的填充率或者是实现高倍抗锯齿,普通用户要这种显卡没用!
● 双核衍生四核——四核心9800XT:
可能双核心9800Pro受到了一部分专业用户的欢迎吧,后来又有厂商推出了四核心的9800Pro/XT显卡,并且使用了罕见的双PCB设计——看来双PCB不是7950GX2的专利:
这些四核心显卡采用了R300、R350或者R360核心,其中最高端的一款型号为6500,使用了4颗9800XT,由于布线问题不得不使用两块显卡PCB,但是接口部分只占用一个AGP,造型非常独特总体来看与NVIDIA的7900GX2有些相似!
四核心9800XT的型号为simFUSION 6000/6500,是为某些工作站定制的显卡,有人专门以3D游戏的角度测试过这款显卡,结果当然是惨不忍睹——甚至还不如9800XT单卡!不过这款显卡就已经使用到了ATI的超级分块渲染技术。
X.5 普及双核心——影驰双核7600GT
NVIDIA 7950GX2的发布宣告了显卡双核心时代的到来,各大显卡厂商纷纷推出了拥有两颗G71核心、1GB显存的最强显卡。不过高高在上的价格决了7950GX2只是少数人的玩具,大多数用户的梦想可能就是拥有一套中端SLI系统。
影驰自行设计的双核心显卡显示出了AIC厂商的研发实力,而且影驰的这款显卡不仅仅是作为展示之用,据悉影驰已准备将双核心7600GT量产,不久之后即可上市,而且价格方面要低于两块7600GT显卡!
考虑到两块7600GT组建SLI系统配置比较麻烦成本较高,因此影驰双核心7600GT不但样式比较YY之外,还具有不错的性价比,近期想要购入双卡SLI系统的朋友不妨多多关注影驰双核心显卡的消息。
近一段时间以来,影驰一直在对这款双核心显卡做进一步的优化工作,最终成品的供电部分进行了诸多优化,全部采用了三洋SVP贴片式固体电容,为两颗GPU核心提供稳定的电流!
散热器采用了一体化的设计,全面覆盖两颗GPU和八颗显存。不仅如此,大家看到这个散热器可能会觉得比较眼熟,因为影驰的散热器设计充分借鉴了NVIDIA 7900GTX的双热管和ATI X1900XTX的涡轮风扇,可以说集两家之长,完美的解决了散热,并且将噪音控制在了较低的水平。
X.6 GeForce 7950GX2——双拳出击誓夺王位
48个像素单元的X1900XTX核心实力可不一般,24管线的7900GTX明显不是对手,虽然它拥有功耗和成本上的优势,但旗舰产品代表的是性能与实力,NVIDIA不甘心就这么败给X1900XTX。
于是经过多方面的尝试之后,在6月份NVIDIA终于亮出了杀手锏——双核心、1GB显存的7950GX2显卡!得益于良好的兼容性和成熟的SLI技术,7950GX2在任何主板上都能发挥出真正实力,两颗G71联手就可以轻易的击败X1900XTX。
在7950GX2显卡身上,G71低成本、低发热、低功耗的优势再次得到体现:两颗G71加起来的核心面积同R580相当,双PCB设计使用了两块8层PCB,其成本要低于一块12层PCB,分离式供电模块也不复杂。最终7950GX2的售价依然维持在5000多元的价格,在这类“超级显卡”的阵营里 ,这样的价格是极具竞争力的!
X1900XTX性能再强,也不可能是两片7900的对手,在众多测试中7950GX2毫无悬念的击败了X1900XTX,终于夺回了性能之王宝座!
7950GX2虽然实力强悍,但它也有很多无法回避的缺点,由于7950GX2拥有两颗G71核心以及1GB显存,以往N卡在功耗、发热和噪音方面的优势不复存在,实际上7950GX2在这方面比起X1900XTX有过之而无不及!另一方面7950GX2是基于SLI技术的产物,一些新游戏、新特效无法有效的利用双核心,7950GX2的性能自然比较差,所以7950GX2严重依赖于驱动的优化!
虽然7950GX2夺回了单卡性能之王的称号,而且两片7950GX2能够组建四核心Quad SLI,但NVIDIA的Quad SLI驱动一直都不够成熟,直到被8800GTX所取代都没能发布一款令人满意的驱动,所以7950GX2双卡还是不敌ATI CrossFire,ATI之后发布的X1950XTX就是针对7950GX2而来的!
X.7 ATI双核心——Gemini技术
对于ATI方面,HIS研发的Gemini双核心显卡还是非常特别的,并且计划用于下一代ATI中端主力产品RV560及RV570之中。
这是X1600 Gemini工程样卡
据HIS市场经理Peter Yeung表示,目前有些厂商展出过ATI双核心显卡,但它是透过ATI RD480或是RD580北桥芯片的双X8 CrossFire架构而设计,在普通主板的PCI-E X16接口上无法正常工作,而HIS借助了PLX公司推出的PEX8532接桥芯片,让两颗芯片可以共用相同的PCI-E接口。
正反两面总共16颗显存,每颗核心独享8颗显存,总共1GB容量
1.4ns GDDR3颗粒
这块双核心X1600工程样卡采用两颗RV530 Pro频率为450MHz ,显存采用了西门子GDDR3 -1.4ns颗粒,频率为1.38GHZ,容量高达1GB。据Peter表示,HIS X1600 Gemini除了可用作单卡CrossFire互联之外,还可以让两颗核心分别处理3D渲染及物理加速,成为市面上首片同时支持3D及物理加速的显卡。
三颗芯片面积相等
相信大家一定注意到了,这款双核心显卡的PCB上有三块面积相等的芯片,两颗RV530一看便知,那么中间的一颗芯片是什么呢?
实际上无论ATI还是NVIDIA,其双核心显卡的核心技术都是建立在双卡互联以及PCI-E控制器上面,所以ATI Gemini双核心显卡的核心部件就是中间的这颗芯片:
PEX8532 PCI-E控制器
PLX PEX8532是一颗最高支持PCI-E X32的接桥芯片,最多可让8颗芯片分享相同的PCI-E接口,这颗芯片的最高功耗仅为7.38W,采用PBGA封装680Pins 35mm x 35mm大小。
这里介绍的HIS X1600 Gemini工程样卡只是为未来RV560/RV570作出准备,今后将会进一步把PCB的长度缩少,以便正式推出双核心RV570显卡!
实物运行图片
目前香港HKEPC已经收到了这块双核心X1600 Gemini卡,这块样卡已经能够上机正常工作,相信不久之后就会放出测试成绩,性能表现应该会比同频下X1600 CrossFire强!
X.8 双G92核心的怒吼——GeForce 9800GX2
G80强大的性能让GTX8800和8800Ultra难逢敌手,但是功耗也成倍增加,这一软肋从根本上阻止了它的平民化,于是G92核心应用而生。作为G80的改良版,G92工艺从90nm进化到65nm使得它功耗、发热、成本大幅下降。但是NVIDIA对于G92的定位并非旗舰,因此使用了256Bit显存来进一步控制成本。虽然G92核心的纹理单元和高清单元比G80强很多,而且核心频率大幅提高,但显存位宽限制了它的性能表现,基于G92单核的9800GTX未能超越一年前的8800GTX。难道NV在高端不思进取么?当然不是,原来NVIDIA另有打算,当年双G71核心的7950GX2灵魂附体,双G92核心9800GX2震撼登场!
拥有7.54亿晶体管的G92核心本身功耗发热就不低(相对G80是好些),做成双核心显卡自然对供电和散热提出了很高要求,所以9800GX2显卡的结构和散热系统都是比较独特的复杂,全密封式设计完全就像是一块板砖。
性能方面单颗G92可以达到接近于8800GTX的水平,双核心性能提高80%,9800GX2自然完全超越8800Ultra成为毫无争议新王者。双核心本身的效率不容置疑,但其弊端就在于组建Quad SLI之后四核心效率不高,当年的7950GX2完胜X1950XTX,7950GX2 Quad SLI却不敌X1950XTX CrossFire。好在DX10时代NVIDIA重新设定了渲染模式,在驱动优化方面下了大功夫,随着更多新游戏对多GPU系统提供优化支持,9800GX2 Quad SLI系统的性能还是令人相当满意的,四颗G92核心将3D图形性能提升到了新的境界!
X.9 55nm王者——GeForce GTX 295
到了GT200时代,GTX280实力虽强,怎奈双拳难敌四手,3D图形性能宝座被HD4870X2无情的夺走。当时业界普遍认为此次NVIDIA根本没有机会反败为胜,因为庞大的GT200核心功耗发热太大,加上512Bit显存布线过于复杂,不可能使用两颗GT200核心制造双核心显卡来与HD4870X2相抗衡,但NVIDIA却做到了……
● 2009年01月 55nm王者GeForce GTX 295震撼发布
GTX280登上加冕还没有多久,AMD就推出了双核心的HD4870X2,将GTX280从性能宝座上逼了下来。虽然说用双核心与单核心对阵并不公平,但是性能宝座的名头却无法改变。2009年01月,NVIDIA以牙还牙,推出了双核心的GTX280显卡——GTX295,目标很明确:让HD4870X2下课!
GTX295和上一辈双核心显卡一样,都采用了双PCB双核心的结构,下图就是GTX295结构的立体图。
从图上可以看出,这个结构有点类似于三明治的结构,两片PCB将硕大的散热器夹在中间,结构看起来有一些怪异,但是但从两颗核心之间来说,避免了两颗核心距离太近引起的高温。
同时从另一个方面来讲,这样的设计正好可以只是采用一个散热器,就能满足两颗核心的散热,散热器的正反面都被两片PCB仅仅夹住,核心与散热器接触的部分采用纯铜材质,更加有利于导热,而两片PCB上的显存也都有相应的散热措施。这样的设计有效利用了散热器、显卡的面积,同时也减小了显卡的体重。但是,这样的设计对于散热器与显卡PCB的工艺要求相当高,而且这也是纯粹的专用散热器,成本势必高出很多。
GTX295三明治平面图
和9800GX2类似,GTX295仍然是通过一个类似于SLI桥的排线让两颗核心进行数据交换,而将两颗核心的数据进行运算、任务分配等都是由一颗桥接芯片来完成。
GTX295的两张PCB一张为主PCB,另一张为副PCB,主PCB上包含一颗核心和一颗IO芯片、一颗桥接芯片,并且带有SLI接口,用户可以使用此SLI接口组建Quad SLI;而副PCB上则没有桥接芯片,只有一颗核心和一个IO芯片。
● 性能强劲 功耗合理
在绝大多数游戏中,GTX295的性能表现都凌驾于HD4870X2之上,两片GTX295组建的Quad SLI平台性能也非常强悍,但是在部分游戏中还是因为驱动程序不完善,导致成绩不正常。不过总体来说,因为驱动程序所导致的问题还是要比AMD的HD4870X2 Quad CrossFire少一些。实际上,对于这种多核心显卡平台,驱动程序是至关重要的。
在GTX295的身上,我们看到的不仅仅是当今最强大的单卡,也给我们带来了更多的新技术,如文章前面介绍的通过一块显卡做3D渲染、一款显卡做PhysX物理加速就是非常重要的一个方面。同时,64xQ FSAA与遮光屏蔽功能也同样值得称道。
另外,GTX295所采用的55nm工艺也让显卡的功耗大幅度下降。大家知道,GTX280的单卡设定功耗就高达236w,而双核心的GTX295,设定功耗仅289w!
GTX295的发布,标志着NVIDIA再一次坐上了性能王者的宝座。此前NVIDIA被HD4800系列低价上市打个措手不及,不得已只能通过杀价来维持市占有率。中端市场,被HD4850、HD4870钳制,而高端市场被HD4870X2夺走了“单卡之王”的称号。虽然当时发烧友迫切希望NVIDIA推出双芯GTX280领衔市场,但受限于工艺发热等原因,迟迟不见踪迹。而现在,随着55nm工艺的成熟,那个熟悉的绿巨人NVIDIA又回来了,工艺进步带来的热量大幅下降,将发烧友的梦想——双芯GTX280成为了现实。
■