热点推荐

8系列产品全线到位 解析DX10未来应用


分页浏览|全文浏览    【CNET中国·ZOL 原创】 作者:李嘉     评论
产品:8600GT魔灵 影驰 显卡 回到顶部阅读

序言:这个世界的铁则

● 序言:这个世界的铁则

  RISC(Reduced Instruction Set Computing)。精简指令集,一种指令数目少、执行周期短、以流水线优化优先的高效能CPU指令集。但他并不支持受众面最广的操作系统—Windows,使得它失去了大份额的受众群。


谁给梦想插翅?漫谈娱乐3D图形技术发展
RISC与CISC

    GeForce FX系列,NVIDIA的首款DirectX 9显卡,曾被抱以厚望。一度人们认为配合nVIDIA同步发布的革命性Cg技术,在专业领域十分强悍的NV30系列GPU在3D游戏里同样会有优秀表现。但他最终因为对DirectX 9应用执行效率过低,成为nVIDIA历史上在民用图形领域最失败的产品

谁给梦想插翅?漫谈娱乐3D图形技术发展

    “一台完整的计算机是由软件部分与硬件部分所组成”,大概在每种计算机入门教材里都会出现类似的说辞。的确,硬件发展的最终目的是为各种软件应用服务。反过来讲,软件的应用也离不开硬件基础的支撑,这早在数十年前就已经成为共识与常识。

    历史不止一次证明了硬件技术与软件应用间的紧密依存关系,但以产业来分这又是相互独立的。就像会有很多人向往着与搭档间能够有亲密无间的配合的心情,可这并不见得软件与硬件的发展就真的默契无间。计算机是个多元的领域,无论是性能、应用、价格亦或是各种错综复杂的金钱利益都会对其产生影响。

谁给梦想插翅?漫谈娱乐3D图形技术发展   谁给梦想插翅?漫谈娱乐3D图形技术发展
硬件与软件是相互依存的关系

    显卡以及算机图形产业的历史并不长,不过从诞生那天开始它便是发展速度最快的领域之一。伴随着不断涌现的新技术与新需求,我们也走过了10余年的时间。各式各样的图形技术与应用软件之间不断的成长与碰撞着,为我们勾勒出并不只是美丽与纯洁的神奇世界。随着时间的流逝,计算机图形技术与应用软件所处的地位、立场也发生了微妙的变化。

    从用途上来讲,计算机图形技术所涉及的软件无非是两种:一种用来提供基本的软件环境与运行平台。另一种则是直接应用去处理各种终端事物。像是DirectX、OpenGL、各种驱动可以归为前者,后者又可以进而分为专业软件与民用软件。在民用软件之中,目前分量最重的无疑是各种游戏软件。

谁给梦想插翅?漫谈娱乐3D图形技术发展

    在我们还沉浸在漫长的DirectX 9时代时,DirectX 10已经悄然而至。在AMD与nVIDIA的推动下,2007年将是变革的一年。我们见证着历史,审视着现实,同时也反思着自己。现在关于DirectX 10的价值又有新的一轮争论,让我们暂且把它丢在一边,在描绘未来世界之前,不妨先仔细研究一下历史为我们留下的各种思考。

回到顶部阅读

未来的基石 - 编程时代:自由就是力量

● 未来的基石 - 编程时代:自由就是力量

    Microsoft DirectX已经有12年的历史,相继推出了9个版本,凭借着极强的适用性DirectX当仁不让的成为被使用最广的3D开发组件以及3D API。这可以分为几个阶段,最初的显卡程序开发无法直接对输出像素进行编程,渲染管线也是固定的,那时的显卡程序开发就如同拿着一块块定型的积木反复组合罢了。



谁给梦想插翅?漫谈娱乐3D图形技术发展

    但DirectX 8.0的出改变了这一切,随着Shader(着色器)的引入,程序员就可以摆脱桎梏,自由的进行创作。不过自由也是需要付出代价的,Shader与Shader间地位也有不同,用来用于衡量它强弱的Shader Model同时被提出。

● DirectX 8.0

谁给梦想插翅?漫谈娱乐3D图形技术发展

    Shader的本质是一段可以编译的小程序,程序员可以像挥动画笔一样通过编译一段Shader来执行各种操作。而Shader Model则是Shader的行业标准,就像画笔有不同功能级别那样,不同版本的Shader Model所对应的功能也不同。根据职能不同,Shader又分为Pixel Shader(像素着色器)、Vertex Shader(顶点着色器)。在最新的Shader Model 4.0中Microsoft又开发出Unified Shader(统一着色器)来代替前两者,并引入了Geometry Shader(几何着色器?)的概念。

    对于像Shader一样的程序,只有对其进行编译它才能发挥作用。能够决定其优劣的重要标准之一是它所支持的指令长度,某种意义上讲,Shader Model的革新的最核心内容是更高的编译自由度与不断提升与指令长度。

谁给梦想插翅?漫谈娱乐3D图形技术发展
不同Shader Model标准下所支持的不同特性。

    列举一下各版本的DirectX的在世时间,可以发现一条有趣的信息。标志着自由编程时代来临的DirectX 8.0与Shader Model 1.0发布于2000年11月,也就是20世纪的最后一年,而它开始大规模的应用正是随即到来的21世纪。

    这就验证了一个观点:至少在本世纪初的一段时间内,编程的自由度将是衡量显卡技术的一个极重要的参数,我们甚至可以片面的认为所有现代显卡技术的产生都是为了配合编程自由度的提高,不断延展的指令长度也不断的造就着新的功能与效果

● 寂寞与英雄如影随形?

谁给梦想插翅?漫谈娱乐3D图形技术发展   谁给梦想插翅?漫谈娱乐3D图形技术发展

    2002年8月,第一款支持DirectX 9的CPUATI Radeon 9700发布。2003年12月,首款DirectX 9游戏《变形金刚:重拳出击》(gun metal)发布。时间跨度为1年5个月。

谁给梦想插翅?漫谈娱乐3D图形技术发展   谁给梦想插翅?漫谈娱乐3D图形技术发展


     2004年4月,第一款支持DirectX 9.0C以及Shader Model 3.0的显卡:NVIDIA GeForce 6800发布。2004年7月,首款DirectX 9.0C游戏《孤岛惊魂》(FarCry) 1.2补丁*发行。时间跨度为3个月。

谁给梦想插翅?漫谈娱乐3D图形技术发展

    2006年11月,第一款支持DirectX 10以及Shader Model 4.0的显卡*:nVIDIA GeForce 8800发布。2007年Q2,首款DirectX 10游戏Crysis将会发行*。时间跨度约半年。

    注1:2006年7月S3就已经暴光了代号为“Destination 1”的DirectX 10 GPU,但第一款正式发布并上市的DirectX 10显卡仍为GeForce 8800。

    注2:对于一款游戏来说,延迟发布是很常见的事。具体时间请以实际为准。

    注3:FarCry的发行时间为2004年3月,使用它在同年7月推出的1.2补丁后才能支持DirectX 9.0C,使用1.3补丁后才能开启HDR。

回到顶部阅读

王者都难逃寂寞的宿命?

● 王者都难逃寂寞的宿命?

    我们发现一个有趣的现象,近几代有着重要意义的显卡型号上市后都会面临一段时间没有应用软件支持的窘境,在这段时间内它只能与上代型号竞争,但这并不妨碍它们成为经典。

    在今天我们经常能够看到“DirectX 10无用论”与“Shader Model 4.0无用论”,这与两年前常见的“Shader Model 3.0/HDR无用论”如出一辙。在这些说辞中,如果把有可能的厂商因素与个人喜好排除掉,剩下最多的理由便是“没有软件能够支持它的应用”。类似于“硬件、软件发展脱节”、“只要画面不要游戏性”的话题已是老生长谈。我们暂且将这个话题放在一边,转而从需求的角度来探讨。



谁给梦想插翅?漫谈娱乐3D图形技术发展

CS,非DirectX 7显卡不可?

    Counter-Strike(反恐精英),一款极经典的FPS射击游戏,至今仍有无数的FANS为其痴迷。CS本身是一个DirectX 7游戏,可玩CS就一定要搭配一块DirectX 7代的显卡么?我想答案是很明确的,现在拿DirectX 8、DirectX 9显卡来玩CS的人非常多。同理,因为DirectX与Shader Model有向下兼容的特性,一旦他们的规格达到或超过了应用的需求,那么最该考虑的是显卡的性能。至于那些“因为没有支持DirectX 10的游戏,所以玩DirectX 9游戏不能用DirectX 10显卡”的言论显然是极其荒谬的。

    也许会有人讲“投资‘超前’技术有风险”,在这方面其实无需顾虑。上面已经提过了编程自由度的重要性,无论是从2.0->3.0还是3.0->4.0,Shader Model每次换代都会在支持指令长度与编程自由度上有着巨幅的提升。任何软件厂商都无法绕过这一步骤,所以不必过度担心日后会没有足够的软件去支持它。换个角度来想,在价格合适的前提下,即使将“新技术”当作赠品,那也十分值得。

● 代沟 - 不同时代的分歧

    现在有一种比较多见的说法:“可以等DirectX 10游戏成熟的时候再入手新显卡”。关于这种说法,我们不妨与上面的疑问一起来探讨。关于软、硬件发展不均衡的问题也已经有了长时间的争论,这同样是一个有趣的话题。对于这个话题,不妨分为两部分去考虑。一是“固定管线时代(DirectX 8之前)”,一是“自由编程时代(DirectX 8到现在)”。

谁给梦想插翅?漫谈娱乐3D图形技术发展

    在显卡刚刚诞生的那段时间里,DIY的状况与现在大不相同,当初所谓的DIY只是抛弃了品牌机后在为数不多的几种CPU、显卡里简单的组合一下罢了,几乎没有选择的余地。那时各行业基本都是一家独大的状态,不存在现在的不纯竞争。用掉7000~8000人民币装配上486、586之类的CPU,外加一块1M缓存的Trident或S3显卡,就可以流畅的玩遍当时所有的游戏,并且在两三年之内也不必考虑升级的问题

    当显卡业还处在起步阶段时候,因为基本不存在竞争,市面上各种型号显卡的性能差距远没有现在这么大。游戏开发商所能做的只是针对有限的几种型号不断的优化,不断的挖掘潜力,在图形技术没有差距的时代就不得不考虑游戏可玩性的问题。

    随着图形产业的发展,游戏开发商所考虑的问题变成了是否要跟进新的图形技术。在这个问题上,开发商们分为两个派别,一是坚定的追随最新的图形技术,将最好的画面带给游戏爱好者。另一种则是坚持以可玩性为主,图形方面够用就好。这里我们可以将后者忽略掉—即使不使用最新的图形技术,也不一定会影响到游戏的可玩性。

回到顶部阅读

还记得玩仙剑、红警95的时光么?

● 还记得玩仙剑、红警95的时光么?

    在那个年代的游戏爱好者看来,也许游戏开发商与硬件厂商间的确是达到了默契的程度,人们很少需要去考虑自己显卡的规格能不能玩的了更多游戏。但是在厂商的眼里却不一定是这样,随着产业的发展,这种“脱节”的现象也逐渐产生。只是因为当时行业的深度相对较浅,游戏开发的周期也可以控制在较短的时间,能够察觉到这些的人并不多。但是随着自由编程时代的到来,这种现象被大幅度的放大了。


谁给梦想插翅?漫谈娱乐3D图形技术发展

    “脱节”一词带有贬低的色彩,用它来形容图形技术与应用软件间配合的程度是不合适的。因为“技术领跑游戏”的现状是行业发展的必然,从某种意义上更是一种进步。下面以DirectX 9.0C与《极品飞车9》(NFS9)、《英雄连》(COH)为例做一下简单的分析。

谁给梦想插翅?漫谈娱乐3D图形技术发展

    以笔者的观点,DirectX 9.0C的游戏应该分为“初期”与“成熟期”两个阶段。发行于2005年11月的《极品飞车9:最高通缉》便是典型的“初期”作品。

谁给梦想插翅?漫谈娱乐3D图形技术发展
NFS9的HDR效果

    第一次玩到NFS9,有两个记忆深刻的地方:一是暴光过度的bloom贴图技术,二是尽管只支持低精度HDR,但依旧华丽的光源效果。早期的DirectX 9.0C给笔者留下的最深印象居然是一幕幕暴光过度的HDR(高动态光源渲染)画面。也许是被死板的光源效果限制太久,此时诸如《帝国时代3》、《波斯王子》等游戏都是“被毒烈的阳光尽情曝晒”的风格。

    刨除HDR特效之外,相对于DirectX 9.0b,DirectX 9.0C在画面的细节,精细度等方面已经可以看出差距。使用Shader Model 3.0进行编程的自由度比Shader Model 2.0要高许多,诸多厂家看到这一点后,便纷纷转投Shader Model3.0阵营。但以此时的开发程度,DirectX 9.0C游戏还无法彻底的将DirectX 9.0b游戏打压下去。

    《英雄连:CompanyofHeroes》发布于2006年9月。笔者认为它可以算的上DirectX 9.0C“成熟运用”的代表作之一。

谁给梦想插翅?漫谈娱乐3D图形技术发展
COH截图,画面水准非常之高。

    从去年中末期开始,相继发行了《英雄连》、《细胞分裂4》、《彩虹6号》等几个游戏,制作质量较初期的DirectX 9.0C游戏有着大幅度的提升。这些游戏细节清晰、画面细腻,也摆脱了以前那种暴光过度的HDR光源渲染模式。拿他们与使用DirectX 9.0b制作出的游戏比较,明显的要高出一个档次。DirectX 9.0C、Shader Model 3.0与HDR终归以自己的表现回击了当初那些“SM3.0、HDR无用”的言论。

    DirectX 9.0C游戏的成熟期是从2006年第二季度末开始的,距离它的发布已经有两年的时候。但NVIDIA与Microsoft在去年底相继推出了第一款支持DirectX 10的显卡GeForce 8800与第一款支持DirectX 10的系统 VISTA。这样算来,DirectX 9.0C的“成熟期”只有短短的几个月。

    至此,总结近几代的图形开发套件、3D API、游戏软件的发展史,不难得出一个貌似惊人的结论:在自由编程时代,当一种开发套件、3D API被充分开发、成熟应用的时候,也就是它寿命的尽头。

DX10分析

    这也许是个令人难以接受的说法,其实只要转换立场去做思考,就可以轻松的解读出其中原由。随着图形领域的不断发展,各种型号的显卡性能差距也逐渐拉开。进入自由编程时代之后,游戏厂商必须要考虑几个问题:1、是否有可行的软件环境?(诸如DirectX、Shader Model、OpenGL)2、是否有可行的硬件平台?(能够支持它运行的显卡)当这两点都得到保证的时候,游戏才会经过一定的制作周期后出现到市面上。

    因为对新的编程规则要有一段适应过程,初次使用新技术制作的游戏往往在制作上会比较保守。当游戏厂商充分掌握了新的技法的时候,就有可能会造成桎梏。这时发布新一代的开发组建、3D API就显得十分必要,对于显卡来说能够领先对方率先支持新的规格将对自己有利。此时的游戏厂商就需要再次考虑一开始的问题。由此,也构成了维系行业进步的一个循环。

    这样的循环模式是必然的,自由编程时代的到来加深这个循环的深度,但整体上并不脱轨。反观今天出现的对技术与软件的焦虑,其实并不是哪一方面真的发展太快,更多的原因恐怕是现在弥漫着不纯竞争的行业氛围所带来的浮躁心情吧。

回到顶部阅读

再谈G8X:DirectX10已“武装到牙齿”

● 再谈G8X:DirectX10已“武装到牙齿”

    我们从历史的经验中可以看出DirectX 10的必然性,也许会有很多人想去了解这个3D API究竟有何优势?其实任何一次3D API更迭都会伴随大量新技术的产生与应用,不妨让我们简单的从这些新技术中对它进行窥探。

1、统一着色器架构

    此前的显卡都采用象素着色器跟顶点着色器分离的架构,这种架构不允许GPU同时处理象素跟顶点着色。比如说显卡在进行顶点着色的时候象素着色器单元就变成闲置,浪费了资源而且还形成了不必要的性能瓶颈。特别是现在分离式架构的GPU 的PS资源都要远高于VS,在这种状况下瓶颈的负担无疑是雪上加霜。

    实际上这种情况我们在游戏里就经常碰到。而在采用了统一着色器架构的GPU以及运行于DX10的系统中,显卡可以同时对顶点、几何以及象素着色进行处理,而不必等待逐个分别进行。这也使得资源得以合理分配,保证整个架构高效运行。


DX10分析

    虽然目前只有NVIDIA的G8X采用了统一着色器架构。统一着色器架构还会令GPU更加适合处理通用化任务,这是由于一方面程序员无需再为不同的着色器单元编写不同的执行单元,也不必去顾虑不同着色器之间存在的差异,所对应的接口以及操作方式全部融为一体,从而使负责的开发流程得到一定程度上的简化。

    另一方面是由于Shader单元的统一化使得任何通用计算程序都将在统一着色器架构的GPU上发挥它的所有计算资源,不存在我们上面提到的分离架构造成的着色器单元闲置问题。此外,统一架构的带来的执行单元和配套资源上的共享化也让之前分离架构上存在通用化计算问题迎刃而解。因此,游戏里像物理模拟、运动模拟以及其它原本不适合GPU计算的任务如今都可以交给GPU来做。

    GPU强大的性能使得那些原本无法达成的任务,比如流体运动模拟,得以在游戏中实现。这也极大了减低了系统对CPU的依赖性,原来给CPU的工作,让GPU执行通用化操作,而现代高速GPU的通用操作性能已经超过了高速CPU的性能,极大提高了系统的整体运算效率。

2、geometry shader(几何着色器)功能

    对于DirectX 9和DirectX 10的区别, DirectX 10将利用DirectX 10来克服他们使用DirectX 9所面临的传统限制。例如,geometry shader(几何着色器)功能将使得游戏可以加速游戏的数学运算性能,诸如在GPU上进行物理运算。

    在过去的DX9中,Vertex Shader每一次运行只能处理一个顶点的数据,并且每次只能输出一个顶点的结果。在整个游戏场景中,绘制的几何图形的任务量非常庞大,如果仅仅依靠Vertex Shader单一来完成,效率会极其低下。而更致命的是VS无法单独生成或重组多边形,所以在以往只有VS跟PS的GPU中,生成一个模型往往需要CPU的“大力支持”。

DX10分析

    DX10中的Geometry Shader改变了这点。它的作用就是对每个Vertex数据临近的数据进行Vertex函数处理。这种函数处理可以快速的把模型类似的顶点结合起来进行运算。虽然其操作不会象Vertex Shader那样的进行完整的几何转换操作,只是处理器单个顶点的相关函数操作,但是这种操作却可以确定整个模型的物理形状,这将大大加速处理器速度。

    基于此特性,Geometry Shader可以根据顶点的信息来批量处理几何图形,对Vertex附近的数据进行函数处理,快速绘制出新的多边形。然后再通过steam out将这些结果传递给其他Shader或buffer,使得CPU可以从原本复杂庞大的多边形运算中解放出来。

    现在可以让GPU直接处理细微的粒状效果,如烟雾和爆炸效果等(在这之前这一任务通常交由CPU来完成)。而由于GS的性能要比CPU高出许多,同屏下能够渲染的粒子数量也就更多,所以可以预计烟雾跟爆炸的效果会比以往更为震撼。

DX10分析

     你可以期待GPU进行更多的游戏运算,这样将产生更多动态的场景,而减少数据交换信息意味着场景具有更复杂的几何和多样性。而游戏将更加漂亮,因为它们将有更加复杂的模型,更加细致的物体,或者说同一屏幕上更多的物体,而由于结合了更加复杂的物理,视觉效果将更加复杂,更加真实。例如流动的水,微风吹拂的叶子,这些都将是互动的。当你在树林中行走时,被碰到的树枝将分到两边,而在战斗场景中穿行将有烟雾弥散效果,所有这些结果将更加真实,并呈现出更加愉悦的游戏体验。

3、运算效率更高

    DirectX 10另一个最令人注目的改进就是可以为API节省计算开销(API overhead)。所谓API overhead就是游戏在处理画面上的每一个物体(object)时(比如人物、岩石等等),都需要先将这些Object传送至API,然后再由API传给驱动程序,而这个过程都需要CPU做出处理。

    当Object越多(每一帧画面通常超过几百个),对CPU的负担就越重,所需要消耗的处理时间就越长从而构成瓶颈。而之前DirectX 9就存在API Overhead太大造成CPU资源占用率过高的弊病,因为DirectX 9每使用一个object都需要CPU为其做资源确认。

    而全新的DirectX 10针对这方面作出了改善,采用了全新设计改良的Validation机制。现在只有在该Object生成时,才需要CPU做确认,此后在使用Object时就不需要再次确认了,从而大幅降低CPU的负担。简而言之就是DirectX 10可以有效减少CPU处理3D物体的时间,所以现在每一帧画面可以拥有更丰富的3D物体(无论是树木、贴图还是人物)。而CPU被释放出来的空余资源还可以让制作者用于其它诸如物理、人物运动以及AI等方面的计算。

    DirectX 10还带有一个真正的整数指令集,可以尽可能完成更多的寻址计算,更多的数据打包和解包;当然这些功能并不会创造出一些新的画面特效,但它允许开发人员在GPU中高效的完成更为智能、复杂的渲染工作! 

DX10分析

    此外,HDR(高动态范围渲染)方面,由于DirectX 10硬件支持RGBE,所以HDR纹理不再需要特别解码处理也能实现,HDRAA也得以轻松实现。另外DX10还支持两种全新的HDR模式,一款是R 11G 11B10,采用11-Bit红色和绿色、10Bit蓝色,另一款是采用5Bit共享加每种颜色以9Bit作尾数运算,以上两款HDR模式在HDR品质上和标准的FP16几乎没有差别,但却能有效减少资源损耗及显存带宽占用率,从而消除了以往HDR的瓶颈。另一方面,DirectX 10还支持更高精度的FP32 HDR(每通道32bit,所以也有人美其名曰:128bit HDR),随时为玩家提供更高质量的HDR效果做好准备。

回到顶部阅读

G80,纯正的GPGPU血统!

● G80,纯正的GPGPU血统

    从R300到NV40,再到现在最新的G80,每一代旗舰GPU的晶体管都大大超过了同期的顶级CPU,也在挑战其同时代半导体工艺的极限。随着GPU性能的提升,近年来GPU用于通用计算(General Purpose GPU)及其相关方面的问题成为一个十分热门的话题。GPGPU指的是利用图形卡来进行一般意义上的计算,而不是单纯的绘制。以NV40为代表的可编程GPU发布后,GPGPU进入了一个高速发展的全新时代。

    相比固定的流水线,目前硬件的可编程顶点和片段单元不管是运算精度,支持的指令数还是寄存器个数都有了很大提高,更重要的是基于Shader Model 3.0版本顶点和片段着色器版本的硬件开始支持动态流控制的循环和分支还有子函数操作。比如,现在的片段着色程序最多允许同时访问16个独立的纹理,支持长度不受限制的指令数,寄存器个数也大大提高。而且提供了32位浮点精度的运算和存储格式,对于通用计算来说,这就很容易做出更为复杂的运算。尽管GPGPU前途一片光明,但挑战与机遇永远是并存的,目前GPGPU所面临的问题也非常的多。


DX10分析

    首先是当前的图形硬件还存在很大的局限性。GPU毕竟是为了图形渲染而生,其通用性离真正的通用处理器还有很大一段距离。比如,在DX9硬件上,Vertex Shader和Pixel Shader总共的指令数被制在1024(512+512)条指令,(片段着色器)Pixel Shader最多只能同时访问16个纹理,进行分支和循环操作的开销也比大。

    此外,片段着色程序虽然支持R16F的浮点类型数据格式,但缺乏其他类型的支持,限制了通用运算的多样性,而且R16F这种单精度的IEEE格式对于通常所用的工程计算而言精度还是低了点。由于每个shader程序最多带32个Temp寄存器,指令数也受到限制,所以在很多通用计算程序的编写中不得不采用multi-pass来完成一些复杂的运算,这样就降低了性能。

DX10分析

    由于整个GPU只能通过顶点纹理来读取数据,通过渲染到纹理来写入数据,对于显存没有任何间接写指令,输出地址只能由光栅化引擎决定,不能由程序改变,无法进行任意的读写操作,因此必须将计算的中间结果保存以避免多次读写,这又无形中降低了GPU的通用运算性能。另外在硬件上如果采用浮点运算,则不能利用硬件本身的颜色混合操作,也不能进行mipmap的自动运算,这些也妨碍了GPU在通用计算上的应用。不过,支持DirectX 10的G8X系统的的出现,将让这些问题迎刃而解。

    NVIDIA方面,新一代G8X图形核心采用了先进的统一渲染架构,拥有多达128个流处理器,引入几何着色器功能……这一切简直就是专为GPGPU运算而生!为了最大程度的发挥几何着色器的威力,G80还专门设置了一个名为流输出层(Stream Output State)的部件来配合它使用。

    这个层的功能是将Vertex Shader和Pixel Shader处理完成的数据输出给用户,由用户进行处理后再反馈给流水线继续处理。它可以直接读写本地显存。我们可以通过Stream Out把GPU拆成两段,只利用前面的一段几何运算单元。对某些科学研究,也可以通过stream out来利用GPU的数学运算能力,等于在CPU之外又平白多得了一个数学协处理器。

    我们可以这样理解G80图形核心的几何着色器和Stream Out单元:GS提供了改变图形数量的能力,Stream out提供了硬件Multi-pass的支持。可以预见,今后围绕这些全新的功能,又会有一批新的GPU通用计算程序出台。

DX10分析

    基于当前的G8X架构,NVIDIA现在已经有了一个针对GPGPU的解决方案,被称作Compute Unified Device Architecture,简称CUDA。CUDA是一个完整的解决方案,包含了API、C编译器等,能够利用G80的片内L1 Cache共享数据,使数据不必经过内存-显存的反复传输,shader之间甚至可以互相通信。

    对数据的存储也不再约束于以往GPGPU的纹理方式,存取更加灵活,可以充分利用stream out特性。以上几点都将大大提高GPGPU应用的效率。例如,在游戏中我们可以使用CUDA来让GPU承担整个物理计算,而玩家将会获得另他们感到惊奇的性能和视觉效果。

    另外,用于产品开发和巨量数据分析的商业软件也可以通过它来使用一台工作站或者服务器完成以前需要大规模的计算系统才能完成的工作。这一技术突破使得客户可以任何地方进行实时分析与决策。同时,一些以前需要很先进的计算技术来达到的强大计算能力的科学应用程序,也不再受限在计算密度上;使用CUDA的计算可以在现有的空间里为平台提供更强大的计算性能。

    在正式发布了基于G80核心的Quadro专业3D显卡之后,目前NVIDIA正在酝酿一款全新的流处理加速卡,主攻图像加速、科学计算等GPGPU运算领域……

回到顶部阅读

DirectX 10—在无定则世界中必然的进化标志

● 总结:DirectX 10—在无定则世界中必然的进化标志

    Shader Model的革新本身是可以将程序员从繁杂的劳动中解脱出来,但有竞争的存在,就会有人背离它的实质,不惜几倍的辛劳去在Shader Model 2.0下制作类HDR特效。

    DirectX 8之后的革新对自由编程时代有着莫大的意义,但是因为利益与私人情感的存在,“某某无用论”的说法层出不穷。



谁给梦想插翅?漫谈娱乐3D图形技术发展
  谁给梦想插翅?漫谈娱乐3D图形技术发展

    DirectX 10行业发展的必然,却经常可以听到“DirectX 10根本不适合游戏,即使是顶级的DirectX 10显卡运行DirectX 10游戏也只有不到10帧”。

    游历于行业中,经常可以看到如同像上面所提到的“怪事”。其实就像开始所提到的“计算机是个多元的领域,无论是性能、应用、价格亦或是各种错综复杂的金钱利益都会对其产生影响”。几十年间,行业的本质没有改变,行业的发展却使我们必须要不断的考虑更多新因素,面对着无法用旧有规则解释的“怪事”,这个世界也变的更加复杂与陌生。

    在这个多元化的世界,每条看似无法侵犯的规则在多种因素的影响下都有可能变成柔性的存在。我们该做的也许是静下心来重新审视这浮躁的一切。只有这样才能创造出新的游戏规则,引领进步的潮流

     技术的发展究竟在行业内有多少意义,这很难给出精确的答案。对于即将到来的DirectX 10时代有多少实际价值,这里不想多做评论。简单的举例:有时可以可以看到一些“打开Shader Model 3.0后变成幻灯片”的说法,这显然是将HDR特效与Shader Model 3.0的概念混淆了。提起“特效”,不免想起雾化效果

    在以前雾化是被当作令人惊叹的“特效”所对待,到了今天它已经变成了随处可见的“效果”。就像我们今天将HDR称为“特效”,是因为它的效果绚丽,因为它在DirectX 9.0C下开启将占用大量资源。但是到了DirectX 10,要实现HDR“效果”则轻松的多。特效与效果两个看似区分严格的词汇,虽只差一字,内涵却相差甚远,随着行业进步却它们却可以融会变通,在不同的时间内形容同一事物。

谁给梦想插翅?漫谈娱乐3D图形技术发展

    曾经有个关于进化的观点:“人类之所以能够在历史的长河中还能诞生时的形态,是因为他们懂得利用工具。工具的进步取代了人类肉体的进化,人类甚至有可能将可能的肉体进化当作疾病进行抹杀”。对于这个观点笔者是比较赞同的,如果拿人类的进化来对比行业的进化,技术的进步就该相当于工具的进步。

    DirectX 10是行业进步的必然,保守的坚持着DirectX 9的终将成为行业进步的拖累,被未来淘汰。至于具体到DirectX 10软件/硬件环境的发展,我们可以通过编程时代的发展规律进行判读,而不应盲从各种毫无根据的流言。事实上,包括在近几日发布的NVIDIA G8X与将在夏天之前将会发布的几种显卡型号,已经标志着DirectX 10时代的大幕将于今年夏天拉开。作为近在咫尺的进化标志,DirectX 10的价值已不需多讲什么,究竟要做出怎样的选择,相信大家已经心里有数。

频道热词:华硕主板  Intel  AMD  
视觉焦点
影驰 8600GT魔灵
显卡技术应用热点
排行 文章标题
TOP10周热门显卡排行榜
  • 热门
  • 新品