PhysX物理加速卡横空出世(2)
究竟什么是PPU?
物理处理器是英文Physics Processing Unit的直译叫法,英文缩写为PPU。它是一种专门设计的用来加速物理模拟算法执行的处理器产品。它能加速的模拟算法包括刚体动力学、碰撞检测、流体模拟、软性物体和物体破裂模拟。通过这种硬件设备,我们能将现在计算机系统的中的处理器从其不擅长的物理模拟和人工智能算法中解放出来,让CPU、GPU和 PPU各自负责自己在游戏中最擅长的部分。PPU使得游戏角色和整个游戏场景有尽乎自然的交互性,把游戏画面呈现的物体都可以尽乎自然的方式进行操纵和影响,想想那会是怎样的一种游戏体验。
如果CPU是为了达到更快的运算速度,GPU是为了达到更好的图像效果,那么PPU就是为了使游戏更加真实。在以前的3D游戏中,大多数的背景和物体都只是一些死死的贴图效果,毫无真实感可言。而在去年发布的FPS游戏大作Half Life 2(半条命2)中,游戏开发商就给了玩家们一个非常真实的物理世界。你可以在游戏中捡起一个废纸盒,然后把它抛向远处,然后可以看见它撞击到墙壁以后反弹到上地面上,溅起一阵灰尘。接近于真实物理效果使得游戏不再是由一个个的贴图组成,任何物体都是可移动的,它们都遵守着游戏中的物理参数,组成了一个“真实”的游戏世界。
此外,相信用3DMark03测试过显卡性能的玩家都记得,在3DMark03测试画面中有这么一个场景:在树木茂密的大自然中,阳光普照,有河流和各种植物,十分漂亮。在这个场景中,画面由河流转入到岸上场景以后,大家会发现帧速下降得非常厉害,性能较好的显卡大概可保持在每秒20~30帧,而低端显卡的表现就有些惨不忍睹了。这时就需要一个专门的PPU来接管这些物理计算任务。iD Software Jhon Carmack曾说过:“我们仍然在做一些基础琐碎的事,未来的游戏将模拟天气,模拟流体,模拟空气中的粉尘……”,从中可以看出物理模拟的现实发展可行性和紧迫性。
三角关系:浅析CPU、GPU与PPU之交互
实际上PPU完全不同于现有CPU/GPU的新硬件,它是作为两者的补充要素出现的:GPU设计的目的是以高度并行化的流水先设计进行高效率的3D转换、生成实时光照效果、物体转换以及渲染和输出,所以GPU可以看作是解决物体视觉呈现问题的硬件。与此对应,CPU是以通用目标处理为设计目标的设计,它能通过广泛的软件获得绝大多数应用的,但是所有的应用都得不到最优化的设计,自然也达不到最高的性能比。

CPU、GPU和PPU的三角关系
其实了解这三种处理器的异同的最好方式是了解它们是如何和游戏引擎产生交互的。像CPU 这种设备主要是思考游戏怎么对于玩家的操作产生反应,而PPU 的设计是为了表现真实的游戏世界和玩家的操作怎么去影响这个虚拟世界。
从另一种观点来看,CPU的设计是一种开发的,具有高度灵活性的计算引擎,它提供给程序员一个能快速开发各种应用程序的平台,而PPU和GPU则是专门研发用来执行特定应用的处理器,它们能在自己特定算法的执行能力上大大超过CPU所能提供的性能。
PPU的处理技术和GPU是完全不同的两个运算概念,因为物理运算需要十分强大的整数及浮点运算能力,而将以上这些分离出来交由PPU负责是PPU架构的最大优势,这意味着未来3D运算也将从现有的CPU、GPU配合的方式变为CPU、PPU和GPU三者共同协作。而PPU的概念也是基于这一点,它将原本使用软件技术并通过CPU运算处理的物理反应计算再提取出来,给专门负责物理运算的芯片来处理。
比如在模拟一个大石头滚下山坡的场景时,现有的双核处理器只能处理800~1000块石头互相碰撞、反弹、急冲的景象,无法展现出更广阔的场景。而PhysX处理器专门针对这类运算设计,处理能力远远超过CPU。在模拟上述场景时,PhysX至少能同时模拟4200块石头同时滚下,而在运动的过程中,每块石头都以不同的物理条件自由下落,石头会因为高度、速度、重力及撞击而改变运动规则,它创造的完全是一个“真实”的客观世界。
| 共3页: 上一页 [1] 2 [3] 下一页 |

搜索