|
|
|
#1 (permalink) | |||||||||||||||||
|
Console Gamer
Join Date: Jun 2007
Location: Burnsville, MN, USA
Posts: 1,232
Rep: 46
![]() Unique Rep: 40
Trader Rating: 1
|
Welcome! This is my first FAQ ever, just F.Y.I. And I overdid it. I spent several hours writing this...
The main reason I am writing this FAQ is because I think that people are a little confused about what PhysX is, what it can do, and why I think it works better on GPU's than on CPU's. Everything you wanted to know about PhysX by NVIDIA Things covered in this FAQ:
![]() PhysX was originally the product of Ageia, a company based in California, which was founded in 2002. PhysX was originally designed to be a hardware physics solution. Specifically, it was sold on a PCI or PCI-E 1x style card, called a Physics Processing Unit, or PPU. It was designed to offload the physics calculations from the main Central Processing Unit, allowing the CPU to focus on other things, resulting in a higher framerate in video games. Also, since the PPU was dedicated to handling physics calculations, physics based effects became more accurate and often had more physics based objects flying about. The Ageia PPU was a large parallel processor, similar to a Graphics Processing Unit, or GPU. I personally like this quote very much, from nVidia.com: Quote:
Physics is becoming a more and more important part of video games lately. New technologies, such as Digital Molecular Matter, or DMM, and Endorphin Real-Time animation, all need extensive use of physics engines. There are hundreds of uses for physics in games, but lets cover a few of them. When something in a video game explodes, you usually see several things happening. You see sparks, gibs (parts of the original model), flames, bodies, dust, etc ALL go flying in different directions. The physics software must calculate the velocity, mass, shape, hitbox, and type of EACH gib you see flying. So if a door flies off a vehicle, the physics engine has to calculate every single movement for each Frame Per Second, or FPS. Sparks, or particle effects, each have to be calculated for velocity, distance, and type. Volumetric Smoke or Clouds or Dust have to be calculated for speed, density, wind, nearby force, etc. You can already see things adding up here. You have millions of calculations going on for each little thing to make it look realistic. When Ragdolls are calculated, each bone in the body is connected by a joint, which has resistance. The bone can't pass through other bones, and it can't pass through physical walls. But you don't want the body to go completely limp. He has to have motion, perhaps the direction of his last damage. I could simply go on and on, but the thing is, physics are an extremely important part of video games. Just imagine Half-Life 2 with out physics! Each and everyone of these things is calculated at nearly the same time. How does a CPU process physics? To start this, I need to explain how CPU's process's. I'll be basic, because this is a little confusing, even to me. Essentially, all CPU's work like so. An instruction is given from memory, or input, the instruction is decoded, the instruction is executed, and then the result is placed back into memory, or output. The exact keywords are: fetch, decode, execute, and writeback. Now, since EVERYTHING that happens on a computer is sent through a processor, EVERYTHING MUST DO THIS. Per processor core, ONE instruction can be processed at a time, so all other instructions must wait their turn, depending on their priority. This is called, I believe, In Order Execution. We just covered how many calculations go on per second, and we know that a LOT of them happen in a second. Each single one of those calculations must wait it's turn in line, until it can be processed. Now, the reason that any of these calculations happens at a reasonable amount of time is because the CPU can do each of the calculations extremely fast. For instance, a single core of my Intel e7200 Duo Core processor can run at 2.6 GHz. That measurement, Hertz, means Cycles per Second. So, my 2.6 GHz core can make 2.6 BILLION calculations. Now, I know that this isn't entirely true, because Clock Rate alone doesn't make a processor. But for the sake of keeping it simple, let's pretend it does. Another thing that affects processing speed is how many floating-point calculations can be made. I am not even going to try and understand this, because this is beyond me. But I will try to give the basics of how it works. Here is a quote from Wikipedia.org: Quote:
One of my main complaints of CPU physics is that in some games, if too many physics calculations are needed suddenly, your gameplay FPS can drop substantially. Since the CPU is clogged with physics calculations, the GPU has to wait on data, your network has to wait on data, and the entire game just slows down. So physics on a processor isn't bad. Righto? It can be done, and it can be done well. But since more and more things are becoming calculated by physics, and more is going on in a CPU than simply your video game, it's not the best solution. How does a PPU process physics? A PPU, once again, essentially offloads all those calculations to a separate processor, freeing up the CPU. The PPU calculates all these physics, their constraints, etc, and feeds the answers to the CPU. And since you just took all those millions of calculations elsewhere, the CPU can now easily throw a bunch of rocks around and not have to worry about it. Now, another advantage of the Ageia PPU is that it has a very high floating-point, so it can do many of these "quick" calculations per second. Next, the PPU also does something called Parallel Computing. It can perform many calculations at the same time, by splitting large calculations into smaller ones, and solving them simultaneously. From nVidia's PhysX FAQ page: Quote:
I know that there are other advantages to using a PPU, but quite simply, I have spent over 4 hours researching, learning, and writing this, so I'm not going to go deeper in the multi-threading, or whatever. How does a GPU process physics?/Why is it better than the CPU? First off, I think that GPU's aren't the best solution to solve this problem with CPU physics. I believe that solution was the Ageia PPU, but it had problems. It wasn't well advertised, it was expensive, and it was only used in a few games. And then there is this problem with people who don't want to buy new things, or things that can't be easily explained to them. So that's gone. However, the GPU is still a much better place for physics calculations to take place. It has all the things that made the PPU a good thing, such as a highly parallel architecture, many cores, multi threading, high floating points, etc. Plus, they are already very popular among low-end gamers, all the way up to high-end gamers. From nVidia.com: Quote:
To end this lengthily FAQ, I hope you all have a better understanding on What PhysX is, Why it is better on a GPU, and that maybe you learned something. Please help me with this FAQ by pointing out spelling or grammar mistakes, pointing out informational mistakes, or adding to it. Also, if SOMEONE can easily explain multi-threading or floating-point, that would be awesome. THANKS FOR READING! EXPECT SOME MORE STUPIDLY LONG FAQ'S FROM ME IN THE FUTURE! ___ Some sources: http://en.wikipedia.org/wiki/Parallel_Computing http://www.nvidia.com/page/home.html http://www.nvidia.com/object/nvidia_physx.html http://en.wikipedia.org/wiki/PhysX http://en.wikipedia.org/wiki/Graphics_processing_unit http://www.nvidia.com/object/io_1202161567170.html http://en.wikipedia.org/wiki/Clock_rate http://en.wikipedia.org/wiki/Physics_processing_unit http://en.wikipedia.org/wiki/Floating_point http://appft1.uspto.gov/netacgi/nph-...her+AND+bordes PS: Games that use PhysX Quote:
__________________
Games Currently Playing: Team Fortress 2 (PC), Unreal Tournament III (PC), World of Warcraft (PC)[Burning Legion/Arïs] Xbox 360 Fanboy. Get used to it. 4.0GHz = CPU-Z Verified We are Gr33n Machine: GeForce 9600GSO What is PhysX FAQ ಠ_ಠOCN goes down so often, I'm beginning to chafe.
Last edited by CorporalAris : 3 Weeks Ago at 11:47 PM. |
|||||||||||||||||
|
|
|
|
|
#2 (permalink) | ||||||||||||||
|
PC Gamer
Join Date: Sep 2006
Location: Portland, Oregon
Posts: 1,928
Rep: 138
![]() ![]() Unique Rep: 116
Trader Rating: 12
|
Nice write up. I suggest you make a 8800GS/9600GSO Info thread. Rep+
__________________
Quote:
|
||||||||||||||
|
|
|
|
#3 (permalink) | ||||||||||||
|
Console Gamer
Join Date: Jun 2007
Location: Burnsville, MN, USA
Posts: 1,232
Rep: 46
![]() Unique Rep: 40
Trader Rating: 1
|
I will. Either tonight or tomorrow. Thanks!
__________________
Games Currently Playing: Team Fortress 2 (PC), Unreal Tournament III (PC), World of Warcraft (PC)[Burning Legion/Arïs] Xbox 360 Fanboy. Get used to it. 4.0GHz = CPU-Z Verified We are Gr33n Machine: GeForce 9600GSO What is PhysX FAQ ಠ_ಠOCN goes down so often, I'm beginning to chafe.
|
||||||||||||
|
|
|
|
|
#4 (permalink) | |||||||||||||
|
4.0 GHz
|
Wow, very informative, +rep for putting this together.
__________________
|
|||||||||||||
|
|
|
|
|
#5 (permalink) | ||||||||||||
|
Console Gamer
Join Date: Jun 2007
Location: Burnsville, MN, USA
Posts: 1,232
Rep: 46
![]() Unique Rep: 40
Trader Rating: 1
|
Ugh, thanks. I feel like sleeping now.
__________________
Games Currently Playing: Team Fortress 2 (PC), Unreal Tournament III (PC), World of Warcraft (PC)[Burning Legion/Arïs] Xbox 360 Fanboy. Get used to it. 4.0GHz = CPU-Z Verified We are Gr33n Machine: GeForce 9600GSO What is PhysX FAQ ಠ_ಠOCN goes down so often, I'm beginning to chafe.
|
||||||||||||
|
|
|
|
|
#6 (permalink) | |||||||||||||||
|
New to Overclock.net
|
Thanks for info and nice FAQ.
Rep++ for curiosity and time spend on writting this.
__________________
Quote:
Quote:
|
|||||||||||||||
|
|
|
|
|
#7 (permalink) | |||||||||||||
|
Bioweapon
|
Nice thread. + rep
Btw, what is weird is that............ there are pictures of Halo, Crysis, and Counter-Strike Source yet they aren't PhysX based. They show off physics but not PhysX
__________________
ಠ_ಠ
PAX08 News Thread Info:PS3 Trophy Support List HowTo:Mod LEDs Into SATA Drive 3DMarkVantage 15199 / 3DMark06 Vista 17094 [Project] Omega / [Project] Nemesis Revival "If the bomb technician is running, follow him" - 100 rules of the army book
|
|||||||||||||
|
|
|
|
#8 (permalink) | ||||||||||||
|
Console Gamer
Join Date: Jun 2007
Location: Burnsville, MN, USA
Posts: 1,232
Rep: 46
![]() Unique Rep: 40
Trader Rating: 1
|
I know, I realized that after I posted it. I need to go and change it. It was supposed to be show the effects that I was talking about, but it doesn't quite work right.
__________________
Games Currently Playing: Team Fortress 2 (PC), Unreal Tournament III (PC), World of Warcraft (PC)[Burning Legion/Arïs] Xbox 360 Fanboy. Get used to it. 4.0GHz = CPU-Z Verified We are Gr33n Machine: GeForce 9600GSO What is PhysX FAQ ಠ_ಠOCN goes down so often, I'm beginning to chafe.
|
||||||||||||
|
|
|
![]() |
| Tags |
| ageia, nvidia, physics, physx, ppu |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | |
|
|