Ageia responds to GPU physics

CEREAL_KILLER said:
seems to me that your saying the same thing as him. i could be misreading but it seems like the survey you linked to shows that a large population of gamers are not capable of some of the features of games but yet they still play them. the reson behind this is that the developers want to design games for the widest audience possible. making sure the game runs for the low end but also has the ability to run balls out with top end hardware is what they are trying to do.

i am definetely not saying the same thing...saying the opposite...that game companies will provide support for the eclectic hardware even if 10 people have it. WHy? even tho game companies want to market to a wide range...they want to first make sure they have a state of the art game. I mean how many people go out and buy a mediocre FPS that has average graphics and sounds. The game you create ideally should be far beyond even the best systems out there b/c they are graphically advanced. How many people here can play HL2: Lost coast with 6x AAA, 16x AF, Full HDR, vsync enabled, all details on High, reflect all things on water, on 1900x1200, etc and still get a constant 60 frames per second or more? Not many im pretty sure. WHy did HL2 creates make Lost Coast with all these technical features...b/c they wanted to show that their product is beyond even the best systems out there right now but even the average computer can run it, just not with full eye candy. That is my point...game companies WILL provide support for the best hardware even if a small percentage of gamers can utilize it...why? b/c its what makes their product shine way above that of the average first person shooter or whatever.

A state of the art game will sell more than a widely supported game (meaning that many people can run it). This is b/c people in America (and elsewhere) want the best game out there. How else would Half Life 2 sell so well if not for its graphics, physics, and sound. And any support for hardware that can increase any of these aspects will cause the game to sell even more...so the cost of implementing this hardware will most likely be negligeble. Last I heard, most games like HL2, Doom3, BF2, etc were raking in the cash.

p.s. - you and I are saying the same thing Cereal_killer but not with the original guy i quoted.
 
The PPU would handle those calculations specifically for physics.

Which would be what? People keep talking about the RISC aspect of a PPU, but exactly what reduced instructions would you use to model complex calculus-based physics? A GPU has reduced instructions because at the end of the day, it's basically doing a small amount of operations over and over, namely drawing polygons where it is told to draw them and mapping textures to them (textures which are loaded into it's own memory, mind you - a huge reason for having 3d cards in the first place). But a physics card, in order to do all the things you guys are talking about, would have to handle a wide variety of instructions, and wouldn't be much of a RISC processor at all. There really is little advantage to a PPU over a dedicated CPU core.

A simple view of creating a cube that falls and accelerates due to gravity:

create a cube with a given size, location, orientation, etc
draw the cube
start loop
adjust the location of the cube using a function that incorporates 9.8m/s^2
draw the cube (tell the GPU "Draw Polygons")
repeat loop

Currently, the function to move the cube, which would probably be an actual function in the code that moves an object by a given rate of acceleration, is handled by the CPU. What a PPU would try to do is make that function a hardware function in the card, similar to the way a graphics card makes "Draw Polygon" a hardware function. The difference is that there are only so many things a graphics card has to do - as graphics get better, the card just has to do it more quickly to handle the increase in polygons etc., and for the most part (but not always) the instructions for the card stay roughly the same, and surprisingly sparse. The fact that a GPU has so few instructions needed is what allows it to use a RISC processor to streamline the operations it has to do millions of times. An increase in GPU instructions is when you get a new version of Direct3D or OpenGL - those ARE the GPU instructions. For a PPU, what instructions would you use? The more complex the physics get, the more instructions you would need. Remember when DX9 came out and games started requiring you to have a DX9 to play them? A PPU would require a new version much more frequently because more complex physics would mean more instructions for the card to handle - physics just simply is not a matter of doing a handful of operations millions of times, it would be more like hundreds or thousands of operations hundreds of times, which just isn't practical, and completely loses the RISC advantages to a standalone card. Since you don't gain a lot of RISC advantage, why not use a CPU core?

Still with me?
 
No.:(
Well, your thoughts seem to make sense.
I don't know enough about programming though to offer an opinion on the useability of a PPU.
What it boils down to: when I see games getting cooler because of a PPU, I will buy me a PPU!
 
Let me clarify something also, there is a difference when I say "computationally expensive" and "complex". Physics calculations are very complex, but for a given scene are exponentially less computationally expensive than rendering the scene. For example, finding the derivative of a function is more complex than adding 1+1, but adding 1+1 a million times is more computationally expensive. In other words, the GPU is the guy adding 1+1 a million times, and the PPU is the one doing a couple calculus problems.

RISC processing is designed to handle the GPU-type situation, not huge varieties of complex instructions.
 
And honestly, what else is a CPU gonna do? Look at the fear CPU bechmarks - pretty much flat across the board. CPUs, while playing a game, handle game logic, which includes physics. CPUs aren't being pushed enough right now, as games are almost totally GPU limited. Seeing a difference in HL2 based on CPU speed doesn't mean we are really pushing the CPU, it just means it's being utilized.
 
jdLordHelmet said:
Which would be what? People keep talking about the RISC aspect of a PPU, but exactly what reduced instructions would you use to model complex calculus-based physics? A GPU has reduced instructions because at the end of the day, it's basically doing a small amount of operations over and over, namely drawing polygons where it is told to draw them and mapping textures to them (textures which are loaded into it's own memory, mind you - a huge reason for having 3d cards in the first place). But a physics card, in order to do all the things you guys are talking about, would have to handle a wide variety of instructions, and wouldn't be much of a RISC processor at all. There really is little advantage to a PPU over a dedicated CPU core.

A simple view of creating a cube that falls and accelerates due to gravity:

create a cube with a given size, location, orientation, etc
draw the cube
start loop
adjust the location of the cube using a function that incorporates 9.8m/s^2
draw the cube (tell the GPU "Draw Polygons")
repeat loop

Currently, the function to move the cube, which would probably be an actual function in the code that moves an object by a given rate of acceleration, is handled by the CPU. What a PPU would try to do is make that function a hardware function in the card, similar to the way a graphics card makes "Draw Polygon" a hardware function. The difference is that there are only so many things a graphics card has to do - as graphics get better, the card just has to do it more quickly to handle the increase in polygons etc., and for the most part (but not always) the instructions for the card stay roughly the same, and surprisingly sparse. The fact that a GPU has so few instructions needed is what allows it to use a RISC processor to streamline the operations it has to do millions of times. An increase in GPU instructions is when you get a new version of Direct3D or OpenGL - those ARE the GPU instructions. For a PPU, what instructions would you use? The more complex the physics get, the more instructions you would need. Remember when DX9 came out and games started requiring you to have a DX9 to play them? A PPU would require a new version much more frequently because more complex physics would mean more instructions for the card to handle - physics just simply is not a matter of doing a handful of operations millions of times, it would be more like hundreds or thousands of operations hundreds of times, which just isn't practical, and completely loses the RISC advantages to a standalone card. Since you don't gain a lot of RISC advantage, why not use a CPU core?

Still with me?


Now make the cube textured, with a friction ratio on a angled surface, have it move through a shallow pool of liquid on the way. While you are at it, put a bump on the surface it is sliding on the way that it can bounce off of. edit: With the Novodex physics engine, you don't have to describe how it will act, just what it's properties are, and the engine does the rest, and if you have a PPU you will get more than 3 FPS.

RISC CISC or VLIW I don't care. (I don't even know what the PPU would fall under) nor does it matter to me. But if you play with that demo engine they have, you will see that a CPU simply can not do what you want it to for any amount of realism.

==>Lazn
 
A demo made by them is worthless unless source code is provided. I doubt the CPU code is at all optimized and efficient, and the PPU code is probably extremely specific to that card. It's very similar to Quack, for those who remember that.
 
jdLordHelmet said:
And honestly, what else is a CPU gonna do? Look at the fear CPU bechmarks - pretty much flat across the board. CPUs, while playing a game, handle game logic, which includes physics. CPUs aren't being pushed enough right now, as games are almost totally GPU limited. Seeing a difference in HL2 based on CPU speed doesn't mean we are really pushing the CPU, it just means it's being utilized.

http://www.novodex.com/rocket/NovodexRocket_V1_1.exe

Download it, learn to program it (make your own objects, set their dampening factors, friction rates, etc. etc. etc.) after the 4 or 5 hours this will waste come back here and see if you still think your CPU can do everything you want it to at a speed that is viable.

==>Lazn
 
jdLordHelmet said:
A demo made by them is worthless unless source code is provided. I doubt the CPU code is at all optimized and efficient, and the PPU code is probably extremely specific to that card. It's very similar to Quack, for those who remember that.

That is an open source project. http://www.physicstools.org/

The CODE IS FREELY DOWNLOADABLE (the definition of open source you know) and the PPU can take what runs at 2 FPS on a top of the line CPU DOUBLE the number of objects and get 60 FPS out of it.

You seem intent to remain stuck on your preconcived notions. Like a Honda ricer insisting that their car is faster than a Diablo, but unwilling to race when given the chance.

==>Lazn
 
I am at work so I can't really do that :))), but if this is a programmable physics tool, isn't it therefore using software physics? Being that I don't have a PhysX card.

edit: looking at the videos, thats all really cool stuff, but I don't think it's anything that can't be done with software. These scenes are set up purely to show what the want to show, with no game logic to worry about. Highly optimized for that one scene.
 
jdLordHelmet said:
I am at work so I can't really do that :))), but if this is a programmable physics tool, isn't it therefore using software physics? Being that I don't have a PhysX card.

Yes, it Novodex (the SDK Ageia provides for their PPU) is a software engine, and quite a good one too, it is multithreaded, and well written, heck lots of Xbox 360 and PS3 games will use it on PowerPC CPU's too.

The difference is: PPU = ~30,000 objects on screen fully interactive CPU = ~30 objects. (at decent framerates)

==>Lazn
 
Lazn_Work said:
That is an open source project. http://www.physicstools.org/

The CODE IS FREELY DOWNLOADABLE (the definition of open source you know) and the PPU can take what runs at 2 FPS on a top of the line CPU DOUBLE the number of objects and get 60 FPS out of it.

You seem intent to remain stuck on your preconcived notions. Like a Honda ricer insisting that their car is faster than a Diablo, but unwilling to race when given the chance.

==>Lazn

Cool, give me some time to analyze it and I'll get back to you.
 
What exactly am I looking for at that site? Which of those video links above has source code there? Or was it the rockets thing?
 
pstang said:
whos saying you have to buy it?... just because sli/crossfire came along didnt mean i had to go out and get it

Nobody said I had to buy it, infact I said I won't buy it. It's just another thing to make money with. Can't any of you open your eyes a little bit here? Do you HAVE to buy crap from these people? Can we not make something better that does graphics, processing and other stuff on one chip? Come on now. Maybe it's just my inner computer engineering speaking to me. But this is just stupid now..I'll make sure that I do something about this bull if nobody else does by the time I graduate engineering school.
 
XSNiper said:
Nobody said I had to buy it, infact I said I won't buy it. It's just another thing to make money with. Can't any of you open your eyes a little bit here? Do you HAVE to buy crap from these people? Can we not make something better that does graphics, processing and other stuff on one chip? Come on now. Maybe it's just my inner computer engineering speaking to me. But this is just stupid now..I'll make sure that I do something about this bull if nobody else does by the time I graduate engineering school.


Its more cost effective to produce this way for the time being ;) . If it wasn't there wouldn't be a market for it.
 
jdLordHelmet said:
What exactly am I looking for at that site? Which of those video links above has source code there? Or was it the rockets thing?

The rockets thing is the demo, the source code is at the http://www.physicstools.org/ site.

Once you install the demo, there are lots of prebuilt demos, as well as the ability to create your own.

==>Lazn
 
razor1 said:
Its more cost effective to produce this way for the time being ;) . If it wasn't there wouldn't be a market for it.

And it gets more expensive every year. Time to shave off some metal and replace it with something better and cheaper.
 
OK, so this open source project is basically just a physics library, sort of like the OpenGL to Havok's DX9. And you are saying demos created in this physics platform run significantly better using a PhysX card. Now:

1) Where are you getting those numbers?
2) I don't see a link to download the source anywhere after some casual searching, do you have a link to it?

Unless I can see that this code is optimized equally for all solutions, I don't believe it. Using Havok, we can do things in software that are better than that rocket demo can do on CPU. It seems like pretty primitive stuff, which isn't surprising for an open source project like this. I'll reserve further judgement until I get home and test this on my machine.
 
The sourcecode comes with the download, newer versions are avaliable on their forum, novodex created this rocket program using ageia's physics sdk. Seeing how their using the sdk I doubt you will see anything much more than calls to the sdk physics wise. I would hope that ageia's sdk uses sse, but im too lazy to download their sdk again to check.
 
novodex created this rocket program using ageia's physics sdk.

And now we get to the heart of the matter. Who would have thought a program created by Ageia would run better on an Ageia card? Or that their SDK would run better on their hardware solution? Until a 3rd party creates a tool with calls to the PPU SDK and comparable calls to something like Havok, its all inconclusive.
 
jdLordHelmet said:
OK, so this open source project is basically just a physics library, sort of like the OpenGL to Havok's DX9. And you are saying demos created in this physics platform run significantly better using a PhysX card. Now:

1) Where are you getting those numbers?
2) I don't see a link to download the source anywhere after some casual searching, do you have a link to it?

Unless I can see that this code is optimized equally for all solutions, I don't believe it. Using Havok, we can do things in software that are better than that rocket demo can do on CPU. It seems like pretty primitive stuff, which isn't surprising for an open source project like this. I'll reserve further judgement until I get home and test this on my machine.

At this point the numbers are totally from Ageia, but they say 30,000 fully interactive objects on screen with thier PPU with no slow down. I will wait to see if they can actually pull this off.

Yes it is all primitive stuff, but still a lot of fun to play with.

Do you work for Havok?

Edit: here is Ageia's sales pitch: http://www.ageia.com/products/white_papers/wp_2005_3_physics_gameplay.pdf
Edit: more demos http://www.ageia.com/physxInAction/avis.html
==>Lazn
 
Turns out novodex is the name of the sdk, so the rocket program's purpose is to demonstrate the capabilities of the sdk.

Im sure they arent going out of their way to make their software based calculations 100% effiicient, but im sure they are using simd instructions where appropriate. They are likely spending a majority of the time with improving their hardware's interaction with the sdk and getting games out there to use the sdk. While you shouldnt expect their marketing numbers to be 100% with whats physically possible with current hardware, I bet they arent as completely biased as you are making them out to be.
 
RavenD said:
AFAIK BFG is making the PhysX cards for Ageia. It would be really nice if bfg manufactured cards that have both a GPU and PPU on the PCB.


unless something has changed in the last 6 months bfg doesnt manufacture anything, they simply contract it out.

my understanding is their boards are made by chaintech and maybe a couple others.

I could be way off but I know chaintech made the bfg mobo's and I know chaintech makes at least some of the vid cards. I just wish I could link to something.

and as to the topic of the thread I don't think we will need it now and by the time it matters then I think gpu manufacturers and vid card ones will have taken steps to render a ppu useless and it will be a collectors item much like an old voodo card but with out the love and devotion, and oh ya I will buy one. I like companies that do creative things like these even if I don't think the idea is a good investment.
 
Now that I'm home on my computer, that demo program is pretty cool. There's nothing ground breaking about the physics, but its a lot of fun to play with anyway. Most demos I am getting about 1000 FPS, some around 50-60 fps, the "Big Bang" demo crushes me to about 3-4 fps. I still get the feeling this isn't very efficient, because I am sure I should get more FPS than that. Even when I put it in wireframe it makes no difference, so obviously it's the physics that are crushing the framerate. This is not proof of the need for a PPU. This software may not be coded well, and I also haven't seen this same simulation run on the PhysX card.
 
jdLordHelmet said:
Now that I'm home on my computer, that demo program is pretty cool. There's nothing ground breaking about the physics, but its a lot of fun to play with anyway. Most demos I am getting about 1000 FPS, some around 50-60 fps, the "Big Bang" demo crushes me to about 3-4 fps. I still get the feeling this isn't very efficient, because I am sure I should get more FPS than that. Even when I put it in wireframe it makes no difference, so obviously it's the physics that are crushing the framerate. This is not proof of the need for a PPU. This software may not be coded well, and I also haven't seen this same simulation run on the PhysX card.

Well the textures are really nothing, that is as you said entirely physics.

And if you look in the big bang demo it should show you how many objects there are, something close to 16,000. That is a lot to calculate.

Here are the instructions for getting more in depth with that program: http://www.physicstools.org/forum1/44.html

Then you just need to learn PSCL.

==>Lazn
 
Well, after all my ranting and theorizing, if they do somehow manage to come to market with a product that does what they claim it does, I would probably buy it. I just don't think it does anything that good software with a dedicated CPU core can't, but if they can prove me wrong, I'd be all over it (if the price is right).

On another front, I have to agree with people who talk about the need for games using the PPU. You can't just offer a "software mode" for a game that uses the PPU extensively because it will alter the gameplay. For example, if I can blow a hole in a wall using advanced physics, that's a gameplay change. For game makers to make games that fully utilize the PPU, they will be alienating a large base. When 3D cards first came out, there was a gradual process where gamers could opt for a software mode until the 3D card became more mainstream.
 
I dont think that Current game physics are limited by the cpu anymore then it's limited by the software =p I think games with realistic physics would take much longer to pump out then not, I mean you have to take into account all the parts of a scene now rather then just the ones you want to focus on. a wall could no longer be a mesh with a texture slapped onto it =p
 
jdLordHelmet said:
Well, after all my ranting and theorizing, if they do somehow manage to come to market with a product that does what they claim it does, I would probably buy it. I just don't think it does anything that good software with a dedicated CPU core can't, but if they can prove me wrong, I'd be all over it (if the price is right).

On another front, I have to agree with people who talk about the need for games using the PPU. You can't just offer a "software mode" for a game that uses the PPU extensively because it will alter the gameplay. For example, if I can blow a hole in a wall using advanced physics, that's a gameplay change. For game makers to make games that fully utilize the PPU, they will be alienating a large base. When 3D cards first came out, there was a gradual process where gamers could opt for a software mode until the 3D card became more mainstream.

Indeed, so the first use of a PPU will be for "realistic hair and clothing" etc. not for actual gameplay differences. So instead of a prerendered sequence of animations for clothing movement, the cloth would actually move realistically in accoradance with the person sitting or standing or running etc.

==>Lazn
 
Elios said:
dont know if any one said this yet but Ageia's physics API has 2 code paths built in to it
for a game to use there hardware it just has to use there middleware if it doesnt find the card it just falls back to software

We then fall back to the old catch 22. In order to minimize the impact on gameplay, the differences in physics between machines has to be minimal, otherwise, you'll be alienating the users. But then, you have to show the game is significantly improved by the hardware physics that the user will be willing to drop another $200.

Lazn_Work said:
Some day we will have computers that are just one chip, with the CPU, GPU, Soundcard, RAM, Hard drive, and everything integrated. But not any time soon.

==>Lazn

There's already something like that. A multimedia chip that got released a few years ago. CPU, GPU, SPU, all in one.
 
a wall could no longer be a mesh with a texture slapped onto it =p

Yeah, that was one of my points a few pages back. Say for example you went to the next step and made every wall a stack of individual bricks that could come unstuck with the right force of impact. Right there you just multiplied the number of polygons in that scene by however many bricks are in that wall. This is going to cause performance issues in graphics alone before you even take into account the physics part of it all. Stuff like the Big Bang demo would crush your GPU even if you had a PPU to handle the physics, simply due to the number of polygons. That demo had 18,000 blocks, with 6 sides each, two polygons per side (they are triangles, of course), thats 216,000 polygons just for those stacks of Jenga blocks. Imagine rendering a whole game scene of that stuff, physics aside, with soft shadows, bump mapping, and all the goodies.
 
jdLordHelmet said:
Well, after all my ranting and theorizing, if they do somehow manage to come to market with a product that does what they claim it does, I would probably buy it. I just don't think it does anything that good software with a dedicated CPU core can't, but if they can prove me wrong, I'd be all over it (if the price is right).

On another front, I have to agree with people who talk about the need for games using the PPU. You can't just offer a "software mode" for a game that uses the PPU extensively because it will alter the gameplay. For example, if I can blow a hole in a wall using advanced physics, that's a gameplay change. For game makers to make games that fully utilize the PPU, they will be alienating a large base. When 3D cards first came out, there was a gradual process where gamers could opt for a software mode until the 3D card became more mainstream.

Surely it can be run in software, like the demos.
 
Surely it can be run in software, like the demos.

Not necessarily. If we are talking about such intense physics that software is unplayable (see the Big Bang demo) without a PPU, then the software mode would have to limit the amount of physics. If you limit the amount of physics, you may alter game play. For examle, a FPS where you can blow a hole in a wall to get around something. That is game altering, and without the physics to allow for it, you couldn't do it. Or advanced physics based traps and such, you can't just "turn it off" because your computer can't handle it, as we can currently turn off shadows.
 
jdLordHelmet said:
Not necessarily. If we are talking about such intense physics that software is unplayable (see the Big Bang demo) without a PPU, then the software mode would have to limit the amount of physics. If you limit the amount of physics, you may alter game play. For examle, a FPS where you can blow a hole in a wall to get around something. That is game altering, and without the physics to allow for it, you couldn't do it. Or advanced physics based traps and such, you can't just "turn it off" because your computer can't handle it, as we can currently turn off shadows.
The first generation of games would have primitive physics, much like the graphics of pre-GPU games. Particle and other cosmetic effects you could disable like shadows.
 
I could really see this coming into play in simulations, ie car simulations. If any of you extensively played F1 Challenge, there was a way to enable high rate physics in the .ini files. This was only useable on faster processors (and was disabled by default) as it would slow the frame rate significantly, but if you had the processor to handle it, it would make the car handling kind of come alive. You could feel the car skipping over bumps (especially hitting curbs and the like), more subtle variations in traction etc. Off-loading to a PPU allowing 100 times faster (or more) physics calculations would really be a shot in the arm. A lot of the physics calculations deal with tire modelling, and allowing more complex tire modelling at a much higher rate would increase the realism incredibly, especially when a lot of games have to resort to look up tables vs. on the fly calculations at this point. I'm very excited about this for that reason as I know game devs. that deal with simulations are going to be using this.
 
Imagine a game in which you don't have health and weapons don't have quantifiable damage values.

Instead, weapons simply retain the mass of the bullet, or whatever projectile that fires out of the weapon, and the acceleration the weapon is able to provide to the object in the amount of time it generates force on it.

Then, instead it takes these calculations, compares them to physical resistance of skin and determines whether or not it will cause peripheral bruising, deep hemorrhaging, or complete penetration. And then as it calculates the movement of the projectile through the human body, in realtime, it determines whether it strikes bone, gets lodged, fractures the bone, or breaks the bone and travels straight through the other side.

Then imagine fluid dynamic calculations to determine rate of blood loss as a method of determining your overall health. If the bullet manages to break through an important artery, or certain nerves, parts of your body become paralyzed.

Most people say it's unnecessary, but we've already come along way from square hitboxes.

PPU all the way
 
What you describe is ridiculous. We are so far from such a thing, it isn't even a matter of PPU or GPU or CPU. You aren't even dealing with a game system we are familiar with, i.e. polygons and pixels. We are decades from something like that.
 
Lazn_Work said:
Get the rocket demo, do the "big bang" explosion, it is 16000 bricks falling, your CPU will get ~3-4 FPS at best. The PPU is supposed to handle 30000 of them at over 60 FPS. We shall see if they can actually hold up to that promise, but that is what Ageia has been saying.

==>Lazn


The Agea guy showed me that at his booth in Quakecon, it really did make that much difference.


These 'graphics' guys can talk all they want but reality is a PPU allows realtime physics calculations on unpredictable objects, graphics can only emulate these interactions on scripted sequences for objects they want to allow to simulate real physics.

I guess thats a hard concept to grasp.
 
jdLordHelmet said:
What you describe is ridiculous. We are so far from such a thing, it isn't even a matter of PPU or GPU or CPU. You aren't even dealing with a game system we are familiar with, i.e. polygons and pixels. We are decades from something like that.


No, we are only decades from what will be in a decade from now...and your trying to impede the progress that can happen in that decade.

If you don;t like PPU's, simply state that and go about your graphics coding. I for one have seen the PPU on a real system that is common in todays world and I would say it's MUCH closer to the goal described above than you think.

Look, you just make the graphics draw the objects it gets...and let the PPU tell your graphics what the objects need to be.
 
These 'graphics' guys can talk all they want but reality is a PPU allows realtime physics calculations on unpredictable objects, graphics can only emulate these interactions on scripted sequences for objects they want to allow to simulate real physics.

I guess thats a hard concept to grasp.

Funny how you sink to personal insults while simultaneosly proving your own lack of knowledge on the subject. Download that rocket demo. That is real physics, it is not scripted, and last I checked, I don't have a PhysX card. You aren't even using terminologies correctly.
 
Back
Top