
大家或许有听过处理器(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硬件技术,游戏开发者已经很难整合环境和其他元素,打个比方:一阵冷风吹过一片寂静的,树将随风摇摆,数叶发出沙沙响声,百叶窗发出被风吹打的巨响,修道士手拿火把穿过古墓,他的的长袍很真实的随风摆动,女主角的所骑马的尾巴也自然的摆动,当前面的城堡突然爆炸,飞溅出来的碎石冲倒街上的围墙,这些特效将会让游戏真实感上一个台阶,同时基于物理模拟的视觉将会彻底改变此前单调乏味事先做的动画效果。
