VBI简介|最新动态|疑难解答|联系我们
 
首页电大时讯教学研究开放教育教学辅导电脑乐园

何去何从 浅析显卡的发展趋势(图)

  文/微风

  图形芯片发展到今天,性能的飞跃已让人不敢置信。GeForce4 Ti的问世,已将各项指标提升到一个新的水平。其彪悍的性能那样足以值得我们对此评头论足一番。在二三月份NVIDIA风风火火地发布、推广GeForce4之后,市场又一次恢复了平静。但近来,我们听到了非NVIDIA的声音,新产品的演示、规格纷纷浮出水面,在如今这个毫无悬念的图形领域
,这些声音的确非常可贵。

  普林斯顿大学和微软的“绒毛兔”

  可以说,图形芯片的发展在一定程度上已经超过了处理器。在集成度上,一颗最新的图形芯片内部晶体管比Pentium 4处理器的还要多。依靠强大的硬件基础,在特效方面,图形芯片的进展也非常快,这也是我们今天讨论的重点。


  头发渲染成为可能


  回顾以前的发展,我们可以发现,图形芯片厂商往往都是以提升芯片处理速度为己任。从TNT2到GeForce256到GeForce2,其填充率都是直线上升,例如Quake3中的帧速率,从刚好流畅的50~60帧到一度突破200帧大关。而在ATi的产品,我们也可以看到这一规律,只是ATi是从Rage直接跳到了Radeon而已。

  尚未应用同心壳层的狼人框架图案

  2002年最有轰动效应的产品莫过于NVIDIA的GeForce4 Ti了。它最引人注目的技术双Vertex Shader,不仅能够在支持Vertex Shader的程序(游戏、3D制作软件)中达到双倍的性能。而且可以以较高的帧速率来渲染复杂的头发、软毛效果,要知道,这在以前可是图形领域的攻关问题啊!

  这一问题源自早期加州工学院发明的一个绒毛熊(Fuzzy Bear)的图像。当时,加州工学院发明了一种使用3D毛发纹理的新方法来渲染头发和软毛效果。这个3D纹理使用表面帧、法向切线、双法向3D矢量来计算光线和反射。光照模型的参数自由地分布在3D纹理空间里。在软件渲染的时候,这个3D纹理空间将会被粗略运算,而且还会按照视点向量(光线照射进的)方向并逐渐增加其密度。而这个绒毛熊正是这种3D纹理的研究参考图像。虽然它是渲染头发、软毛效果的一次突破,但根本无法运用到实际中,因为当时的IBM大型主机渲染这一图片,也是2小时才渲染出1帧图像。

  直到2001年,3D皮毛渲染有了一种新方法。那就是生成一系列的concentric shell(同心壳层)。这些壳层是几何体沿顶点法线方向放大而成的,壳层的纹理则是根据皮毛的不同深度、密度而取样产生的。这些纹理然后就套用到相对应的同心壳层中,经过混合,可得出产品最终的头皮、皮毛效果。

  应用了同心壳层和毛翅的狼人框架图案

  另外,为了增强物体的侧视效果,研究者还特意增加了一些fin(鳍状)纹理来表现物体的小束头发或毛,这样可以增强物理在侧视效果中的真实性。绒毛兔(Fuzzy Bunny)就是大家比较熟悉的参考图像。它包含了5000个多边形、7547条边线、306个片面,采用了GeForce256进行实时渲染。渲染速度也只是每秒12-23帧之间,这个数值太过牵强。

  应用同心壳层渲染再现的狼人图像

  但GeForce4 Ti就能够轻而易举地解决这一问题!其双Vertex Shader每秒钟可以处理1亿多个顶点,可以满足比Fuzzy Bunny复杂20倍的图形的运行需求。


  置换贴图功能的实现


  当我们还在对GeForce4 Ti的渲染性能津津乐道时,今年的GDC(Game Developer Conference,游戏开发者会议)2002上,Matrox向世人展示了DirectX 9中的置换贴图(Displacement Mapping)技术。这实际上是Matrox第二次演示这一技术。去年的GDC上,Displacement Mapping技术被Matrox提出,并在会上使用G550进行软件模拟,虽然效果惊人,但性能却是惨不忍睹,平均1-3帧/秒的速度使这项技术停留在图纸上而已,一年过后,Matrox的工程师再次演示,产品自然不会是G550了,而是一款神秘的新图形芯片,名为幻日(Parhelia)。在整个演示过程中,Matrox的工程师播放了几个演示片段,运行非常流畅,也就是说起码有30多帧。这可是货真价实的实时渲染,而非事先渲染的产物。

  圆筒模型变成人头图形演示

  置换贴图(Displacement Mapping)技术简介:置换贴图可以透过两张纹理的混合形成真正的凹凸模型,就是说Displacement Mapping透过一张基本纹理、一张光照纹理以及一张最为重要的高程纹理来完成模型外观的过程,模型本身也许只是一个圆筒,但是使用了Displacement Mapping以后,就可以生成一个栩栩如生的人头来,也可以让平面图形形成立体效果。这种技术在以往只是在Pixar的Photorealistic Renderman得以应用。当然,这个“建模”过程也是需要Vertex Shader来协助的,并非以往环境凹凸贴图那样只是一个单纯的贴图过程,而是一个极其复杂的过程,Matrox能够实现硬件支持,已经成为3D图形芯片的一次重大突破。


  完全脱离CPU的VPU


  5月4日,3DLabs(已被创新收购)发布了一款全新的图形芯片P10,3DLabs为它冠名为新颖的名字VPU(Visual Processing Unit,视觉处理单元)。该芯片的规格相当彪悍,支持256-bit显存界面(312.5MHz DDR,最高提供20GB/s的显存带宽),支持完整的DX 8特效等等,这仅仅是P10的一小部分,而它最大的亮点在于其架构。据悉,P10可以说是业界首款真正的图形处理器。

  一个球状物的置换贴图演示

  在以前,图形芯片的大部分工作都由处理器承担,诸多的特效都由处理器进行模拟运算,由于当时处理器的主频较低,因此特效的处理都非常粗糙,处理的速度也非常糟糕。这一点以GeForce之前的显卡尤为突出。当NVIDIA发布GeForce之后,加入了对T&L(几何转换及光影)引擎的硬件支持,使得游戏中的T&L运算较处理器执行的快很多,如此一来,游戏中的场景就可以变得更加复杂、精细。而空余出来的CPU资源可以用来使游戏中的角色具备更好的AI、进行游戏中其他的运算。不过当时的T&L引擎乃至GeForce2的T&L引擎都属于静态加速,也就是仅仅可以对固定的场景进行加速,而对于动态人物角色的几何运算就无能为力了,还得靠处理器来接管。除此以外,顶点运算、象素运算等也需要处理器参与处理。

  GeForce3的推出又可以算是图形芯片发展的一个里程碑了。加入了DX 8所定义的Vertex Shader(顶点效果器)及Pixel Shader(象素效果器),使处理器的另一项负担——顶点处理交给图形芯片。顶点就是三角形的顶点,每个3D物体都是由一个个顶点所构成的,可以说,顶点为3D场景构成的基本单位。但是,看似并不起眼的顶点,内部却包含着众多的信息,包括坐标、重量、法线、颜色、纹理坐标、雾和点大小数据。如果逐一处理,这对处理器真是不小的折磨啊!而对于GeForce3的Vertex Shader来说,这简直是小菜一碟,它每秒可以处理数千万个顶点,虽然这是个理论值,但和处理器的处理效果相比,这算是一大飞跃了!

  全屏抗锯齿和T&L技术结合的魅力   综观以前的发展,图形芯片的发展从单纯的3D加速转变到特效处理,从近乎完全依靠CPU到差不多能独立运算,发展真是一日千里。不过,就目前来看,GPU还有许多工作需要处理器“代工”,比如象素计算和渲染。在游戏中,处理器的工作依然十分繁重。所以在未来的图形芯片发展方面,我们可以分为以下几部分:

  1.完全的可编程能力

  虽然Radeon 8500和GeForce 4都是“可编程”的GPU,虽然它们的性能算是非常强大,但它们还显不足,无法由程序完全控制,即还不够彻底,仅能提供一定程度的支持。

  虽然现在GPU内部的集成度已经追赶上CPU。但是在可编程方面还差了一截。众所周知,CPU是一个完全可编程的硬件,能不能让现在的显示核心也向CPU那样完美地支持可编程呢?也就是除了支持普通的3D编程以外同CPU一样可以直接执行目前主流的高级语言,比如:C/C++、FORTRAN、Java、C#等,如果这个梦想可以实现,那么这种显示核心就可以如同CPU一样执行更多的功能,并且我们控制的灵活性和完全性也大大增加。

  细腻的图像和耀眼的光影

  在3Dlabs的P10上,我们终于看到希望。这个产品的技术将会成为今后3D图形芯片发展的主导方向,因为游戏开发厂商长期被迫于围绕着NVIDIA或ATi的图形技术转,这样将妨碍游戏的发展。一种类似于x86处理器这样的显示核心将成为它们最佳的选择,因为只要是符合x86指令的处理器,不管它是AMD的还是Intel的,都可以很好运行符合x86指令集的软件。因此如果显示核心方面也有一个固定的指令集的话,那么可能每家显示核心开发公司都成为类似CPU生产厂那样的地位,而游戏开发者无疑是最期待这事发展的,因为它们不需要再去研究支持哪个公司的开发标准,因此开发变得非常透明。

  2.多任务的图形处理

  在Microsoft的下一代操作系统Longhorn,将很有可能迫使整个图形芯片产业升级,生产出更专精的显示芯片,以处理所有的窗口内容。这意味着,你桌面上的每个窗口都变成了3D材质,不管是游戏、数字影像、或是办公室软件皆然。处理器和图形芯片必须在多个窗口中分别处理所有Longhorn应用程序、影音文件,以及游戏,这样下来GPU将会变成CPU真正的工作伙伴,目前的图形处理器都还不能执行多任务。

  我们可以看到水的表面反光和纹波的真实再现

  而3Dlabs的P10已经走了硬件支持多线程处理的第一步,它们宣称可以完美地执行平行的多重线程,从而最大化地利用系统执行资源。当然这也是VPU的一个主要功能之一,其具备一个命令处理器的单元,为每个线程分配对应的处理单元和缓冲。当然命令处理器具有设置保护状态,已分配的资源可以设置为无法再次使用,这样就可以避免切换多个3D窗口而出现的蓝屏现象。

  3.更多渲染技术的实现

  目前的图形芯片虽然可以实现绝大部分的渲染技术,可以渲染出较为真实的画面,但似乎还有一段很漫长的道路要走,比如OpenGL 2.0和DX 9、10所定义的渲染技术,都是未来图形芯片厂商所必须遵循的道路。还有许多渲染技术,例如光线追踪(Ray Tracing)的支持,也将为未来的图形芯片发展带来全新的设计理念。


  结语


  图形芯片的发展已经超越了处理器的发展,这话一点都没错,自从Voodoo在1996年叩开了3D这个缤纷世界的大门后,图形芯片的发展一日千里,相信在几年前,谁也不会想到3D图形世界可以那么真实。同样,现在我们也无法肯定地预测未来的3D标准是继续由NVIDIA制订还是由3DLabs改写。也许不久的将来,显卡将能给我们更多的惊喜!



版权所有 电大在线远程教育技术有限公司
地址:北京复兴门内大街160号8层 邮编:100031 传真:66414093
技术支持: 刘永刚 (010)66412233-0828 内容反馈:刘兰英 (010)66412233-0825