Wednesday, October 12, 2011

What is nVidia PhysX?



nVidia physX logo
What is nVidia PhysX?
Generally speaking PhysX is a realtime middleware physics engine SDK. It refers to the card PPU (physics processing unit) which can accelerate graphic processing, where PhysX feature is enabled. It is used the most to enhance graphic environment in computer games, PhysX was designed strictly to improve the graphic performance. The physX was released some time ago, it was used then by Graphic engineers and designers to produce professional physics simulations and to make 3D environment used in games or movies. The fact was that this technology was too expensive for a regular gamers. Graphics processes supporting hardware acceleration by PhysX can be accelerated by PhysX PPU or a CUDA-enabled GeForce GPU. CUDA is a name of PhysX developed engine by nVidia. When graphic applications such as computer games using physics calculations from the CPU, allowing it to perform other objectives instead - it is potentially resulting with a smoother and faster graphic processing. Middleware physics engines gives another feature to game designers. It allows to avoid writing their own code to handle the complex physics interactions possible in modern games, because PhysX has got a ready to use physical algorithms.
A bit of PhysX history
PhysX was originally developed by Ageia as the NovodeX SDK. Ageia was a company that profiled itself into the 3D graphics market with fantastic idea to bring physics computing into computer games. Ageia engineers knew that physics calculations allow for a more extreme and real visual experience. Ageia way of thinking was a really interesting, and as a pioneer idea it had also plenty of disadvantages, unfortunately the cards were put into the market way too expensive and received way to little industry support.
ageia physx logo
The Ageia financial results was a way below the average and the company was nearly bankrupt. All management’s eyes and hopes turned to nVidia who was interested in Ageia technology of graphic processing. And it happened, in February 2008, Nvidia bought Ageia for 30 million dollars and hired their leading staff to get Ageia’s PhysX API. After that the PhysX engine and has begun to transform into nVidia CUDA technology. In August 2008, Nvidia released software technology that allows GeForce 8 series and higher cards to implement PhysX graphic processing.
PhysX features and performance:
PhysX graphic processing is widely used to delivering physical environments inside the game source. The main features that PhysX is capable to perform is allowing very spectacular graphic realtime effects, very detailed environment like clothes factor, tear drops and hairs. PhysX also improves dust and collateral debris during in-game explosion. More of that it can perform moving objects inside a very dense smoke & fog without lack of performance. When PhysX is on, game characters has got complex geometries for better movement and interaction. It generally increases performance of all graphic applications moving some tasks to PhysX PPU. Nowadays any CUDA ready GeForce graphics cards, GeForce series 8 and newer, can take advantage of PhysX without the need to install a dedicated PhysX card. Take a look at the graph showing the PhysX performance rates on various resolutions. The graph compares platforms with and without Physx graphic processing:
nVidia PhysX graph
As you see the PhysX doubles the performance of graphic processing, so the technology, nVidia invested was a sure shot. Now, NVIDIA claims that the fact GPU solutions are cheaper is going to push better GPUs into more powerful machines, making more PCs abstractly available for gaming. When PhysX is disabled in software, it left the effects enabled, and they are now calculated over the CPU. It’s incredible how much CPU overhead that takes. Now, normally your FPS would be much higher as physics stuff is disabled, but I figured it’s a nice example of how well Physics can be done over a GPU. It’s just much more efficient.
nVidia/EVGA GeForce gtx285 with PhysX
PhysX P1 (PPU) hardware specifications:
  • Multi-core MIPS architecture based device with integrated physics acceleration hardware
  • Interface: 32-bit PCI 3.0
  • 125 million transistors
  • Fabrication Process: 130 nm
  • Peak Instruction Bandwidth: 20 billion per second
  • Memory: 128 MB GDDR3 RAM on 128-bit interface
  • 182 mm2 die size
  • Sphere collision tests: 530 million per second (maximum capability)
  • Peak Power Consumption: 30 W
  • Convex collision tests: 530,000 per second (maximum capability)
  • Price: Between $100-$250
nvidia physx
So finishing, NVIDIA did a lots of fantastic work here. The attributes the PhysX provides are very good. PhysX solution is the great choice if you want to have the best available gaming experience, and the performance are great. PhysX is a fantastic graphic process technology. It looks good for the future I want more, yet we need to see some bigger and newer titles supporting it.

No comments:

Post a Comment