PhysX

from Wikipedia, the free encyclopedia
PhysX

logo
Basic data

developer Ageia , Nvidia
Current  version 3.4.2
( December 3, 2018 )
operating system Windows , macOS , Linux (without GPU acceleration),
Wii , PlayStation 3 , Xbox 360
category Physics engine
License 3-clause BSD license
Official product website

PhysX is an open source physics engine from Nvidia . PhysX shifts the calculation of physical effects in computer games and simulation software to graphics cards from the manufacturer's GeForce series. In this way, the main processor is relieved of the effort involved in these calculations with the aim of accelerating the execution and display speed ( frame rate ) and / or increasing the quality of the display through additional effects.

history

The development of PhysX started with the physics engine NovodeX, developed by the Swiss company of the same name. NovodeX AG, a spin-off from ETH Zurich , was taken over in 2004 by the semiconductor manufacturer Ageia . This developed a special physics accelerator and marketed its hardware together with the software under the name PhysX.

In February 2008, the graphics chip manufacturer Nvidia took over Ageia and integrated the PhysX engine into the in-house CUDA system to enable it to run on graphics cards from the GeForce series. This means that the physics calculations can also be carried out by the graphics card, which makes additional physics accelerators optional. However, the graphics card must support CUDA and a current graphics card driver must be installed. This has been the case with Nvidia since the graphics card driver version 177.83. It is also possible to use a separate graphics card only as a physics accelerator.

In March 2015, Nvidia announced in parts the free release of the PhysX source code on GitHub , with a restriction to the CPU-calculated code parts. The GPU variant based on CUDA was excluded from the offer. Interested parties must also register with Nvidia's developer program and agree to the terms of use before approval. These restrictions were lifted on December 3, 2018, so the source code is now under a BSD license on Github.

application

Computationally intensive processes such as the physics of rigid bodies, the simulation of liquids such as water or lava, as well as the realistic behavior of ropes, hair or clothing are the main areas of application of the PhysX engine. The following effects can also be realized:

  • Explosions with smoke and debris
  • complex figures with realistic movements and interactions
  • things moved by wind, e.g. B. leaves, paper, sparks, water etc.
  • dense fog enveloping moving objects

In addition to PCs, PhysX is also used in the game consoles Wii (from Nintendo ), PlayStation 3 (from Sony ) and Xbox 360 (from Microsoft ).

Application programs with PhysX support are:

criticism

The Realworldtech website analyzed the PhysX code and denounced that it only uses one core for processing in connection with main processors. But if the graphics chip is set as a “PhysX processor”, the GeForce driver automatically packs the tasks into several threads, and the frame rate increases rapidly. In addition, Nvidia only used outdated x87 commands for floating point calculations, which Intel and AMD have advised against since the beginning of 2000. Nvidia does not use efficient SSE commands with PhysX that could be integrated without major programming effort and would significantly increase performance on current CPUs .

From this Realworldtech derived the suspicion that Nvidia artificially slows down the calculation of PhysX effects on CPUs in order to give the GeForce graphics cards another sales argument.

Nvidia's senior PR manager Bryan Del Rizzo on the one hand rejected the allegations of deliberately slowing down the CPUs, but on the other hand promised automatic multithreading and SSE support in PhysX version 3.0.

In this context, AMD's Senior Manager of Developer Relations, Richard Huddy, said that PhysX should hopefully soon end up in the proprietary API museum together with Glide and A3D and be replaced by open implementations such as OpenCL and DirectCompute.

Web links

Individual evidence

  1. NVIDIAGameWorks / PhysX-3.4 . (English, accessed December 3, 2018).
  2. NVIDIA Extends PhysX for High Fidelity Simulations, Goes Open Source | The Official NVIDIA Blog . December 3, 2018 (accessed December 3, 2018).
  3. Nvidia CUDA and PhysX at a glance on page 4 on ComputerBase
  4. Broad support for physics acceleration via GPU News on Golem.de
  5. Nvidia PhysX - Nvidia releases source code for Windows, Linux, OSX and Android - GameStar . ( gamestar.de [accessed on December 3, 2018]).
  6. NVIDIA Extends PhysX for High Fidelity Simulations, Goes Open Source | The Official NVIDIA Blog . In: The Official NVIDIA Blog . December 3, 2018 ( nvidia.com [accessed December 3, 2018]).
  7. PhysX87: Software Deficiency. Retrieved December 3, 2018 (American English).
  8. Nvidia rejects PhysX criticism News on hartware.de
  9. Archived copy ( Memento of the original from May 10, 2010 in the Internet Archive ) Info: The archive link was inserted automatically and has not yet been checked. Please check the original and archive link according to the instructions and then remove this notice. @1@ 2Template: Webachiv / IABot / www.thinq.co.uk