大家或许有听过处理器(CPU)、绘图处理器(GPU),但物理加速引擎大家或许没听过,而在2005年3月的「游戏开发者会议GDC」上就出现了这个新名词!它就是AGEIA公司在GDC2005游戏开发者大会上推出了物理处理器,被称为05年度图形领域的重大技术创新。随着,两大图形芯片厂商NVIDIA、ATI也各自推出了基于GPU基础之上物理加速技术……,那么物理加速到底是什么东东?它与传统的GPU渲染方式有何不同之外?这就是今天我们所要探讨的话题!
一、什么是物理加速技术?它能为我们带来什么?
在游戏中,特别是在3D游戏中,真实性往往是需要高标准的硬件设施才能达到的。在3D技术发展早期,图形芯片只能完成常规的渲染操作,而关键的建模和光照运算必须以软件模拟的方式由CPU来完成,而NVIDIA在1999年8月推出的一款具有革命意义的GeForce256芯片,它具有硬件T&L引擎,可独自完成建模和光照运算,大大降低了CPU的负担,显卡的3D效能也获得了突飞猛进的提升!不过,尽管GPU的出现让CPU负担减轻,但除了工艺水平改进,频率提升,管线堆叠之外,没有真正实质性的变革,CPU仍需负责图形相关的物理运算工作,依然采用沉闷的游戏渲染方式。正是在这种形势下,一些公司提出物理加速的概念,让我们看到一丝黎明前的曙光……
物理加速,顾名思义,专门进行模拟物理计算的处理运算,它是一个全新的硬件类别,它是用于沟通虚拟电子世界和普遍存在的物理真实,比如在游戏中,当你正驾驶坦克在不断获得一次次胜利,争取更大战果的时候,你却被前面的一片灌木丛挡住了去路,这在真实世界,会有问题吗?也许这样的问题一提出,就会惹来一片嘘声:这还是游戏?物理加速技术就是要改变这一现状。
众所周知,目前每款重要的游戏大作后面都离不开最新显卡技术的跟进、支持。nVIDIA在推出GeForce之时首先提出了显卡首先提出了GPU的概念,GPU主要是分担部分CPU的处理工作,有效减低了CPU的负担,并可提供更好的视觉效果及品质。但有趣的是,随着图形内容的迅速膨胀,CPU在一些协调管理准备工作以及其他任务的需求也迅速增加,特别物理交互环境深度和质量的增长,将会带来人工智能,游戏逻辑以及渲染的膨胀,GPU此时已经显得有所力不从心。这是因为GPU在处理各种图形计算的同时还要负责去运算这些物理变化,而GPU的运算性能在受到物理处理瓶颈时就会影响到其他的图形处理效果,所以就会直接导致帧数的下降。而在大型的3D游戏中,为了使游戏的画面更加的真实,开发小组就会在游戏中设计许多接近现实的物理计算,比如:自由落体,物体运动,空气流动,力的反弹以及各种物体间碰撞等等。但是在传统的计算机中,游戏的物理运算基本上是通过物理引擎加上CPU处理后的物理参数后再反馈到中游戏之中,这种方式往往在遇到大规模的物理运算时就会出现运算瓶颈,这也就造成了游戏中一旦出现大量物理运算时,帧数就会明显下降。不知道各位喜爱玩显卡和3D游戏的玩家记不记得,在3DMark 03测试软件中有着一个测试场景,在一个树木茂密的大自然中,阳光普照,有着河流和各种植物,十分漂亮。相信用3DMark 03测过显卡性能的玩家一定都会记得吧。这一幅场景中,画面由河流中转入到岸上场景以后,相信大家就会发现帧数下降得非常利害,性能较好的显卡大概可保持在每秒20~30帧左右,而普通的低端入门级显卡就有些惨不忍睹了……这时就需要一个专门的物理处理引擎来接管这些物理计算任务。dsoftware Jhon Carmack曾表示说:“我们仍然在做一些很基础琐碎的事……未来的游戏将模拟天气,模拟流体,模拟空气中的粉尘……”,可以看出物理模拟的现实发展可行性和紧迫性。
注:CPU、GPU和物理处理引擎的三角关系
理解三者关系的最好方法是理解他们是如何和游戏引擎交互的:CPU只考虑如何让游戏对玩家作反应,就好象一个大管家一样, 工作则重点是放在渲染质量方面、主要追求单纯的视觉效果,而不是将运作效能放在第一位。物理加速则着重渲染效果的“真实性”,设计成考虑对象的运动以及和虚拟世界之间的互动。但是物理加速有着和GPU完全不同的内部构架,它往往拥有软、固质体动力,泛用碰撞侦测,有限元素分析,流体动力,毛发模拟,布料模拟等技术特效,可以处理相当复杂的物理运算,而传统的CPU和GPU在执行这些任务时往往无法获得足够好的效能。物理加速的这些处理技术和GPU是完全不同的两个运算概念,因为物理运算需要十分强大的整数及浮点运算能力,而将以上这些分离出来交由物理加速处理架构的最大优势,这意味着未来3D运算也将从现有的CPU、GPU配合的方式变为CPU、物理加速处理和GPU三者的配合协作。厂商们所推出的物理加速的概念也是如此,它将原本使用软件技术并透过CPU运算处理的物理反应计算再提取出来给专门负责物理运算的硬件、芯片来处理。在短期来看,CPU“综合协调”,GPU“渲染、显示”,“处理物理交互”,三者共同完成逼真的游戏体验。
比如在模拟一个大石头滚下山坡的场景时,现有的双核心处理器只能处理800-1000块石头互相碰撞、反弹、急冲的景象,无法展现出更广阔的场景。
可以说在短期,物理加速处理所带来的最大变化将是游戏特效,因为以目前的GPU硬件技术,游戏开发者已经很