事实上在PhysX设计之初,它是只支持CPU和PPU物理加速的,不过在被收购之后,NVIDIA通过CUDA架构将其重新编译,并打包进NVIDIA的驱动程序中进行发布。尽管NVIDIA表示今后将大力发展GPU物理加速,但这并不表示PhysX引擎排斥CPU或者CPU+GPU的综合解决方案。
通过CUDA通用接口,PhysX引擎将NVIDIA GPU中的Thread Scheduler(线程管理器)模拟成Control Engine(控制引擎CE),而Streaming Processors来模拟Vector Processing Engine(矢量处理引擎,VPE),其中CE控制引擎负责任务的指派,相当于PhysX中的主管机构,而真正的物理运算任务则是由VPE矢量引擎来完成,最后通过Data Movement Engine(数据移动引擎DME)输出。通过HAL翻译层来实现软、固质体动力(Soft or Rigid Body Dynamics)、通用碰撞侦测(Universal Collision Detection)、有限元素分析(Finite Element Analysis)、流体动力(Fluid Dynamics)、毛发模拟(Hair Simulation)以及更先进的布料模拟(Cloth Simulation)、自然模拟(Natural Motion)等在内新颖技术。
多线程PhysX引擎专为大型并行环境中的硬件加速而设计。AGEIA的PhysX处理器只有10个内核,而现在NVIDIA的GPU则具有多达216-240个内核。因此,NVIDIA的这些GPU非常适合利用PhysX软件。最重要的是,由于游戏物理学具有高度并行和互动的特性,因此GPU架构自然比CPU更加适合这种计算工作。借助于当今或下一代GPU(图像处理器),PhysX将为游戏玩家创造更多价值。
同时,NVIDIA为游戏开发人员提供了的PhysX SDK(软件开发工具包),使这些游戏开发人员能够开发出具备下一代物理学特色及硬件加速性能的游戏 ......详细>> |