• Some users have recently had their accounts hijacked. It seems that the now defunct EVGA forums might have compromised your password there and seems many are using the same PW here. We would suggest you UPDATE YOUR PASSWORD and TURN ON 2FA for your account here to further secure it. None of the compromised accounts had 2FA turned on.
    Once you have enabled 2FA, your account will be updated soon to show a badge, letting other members know that you use 2FA to protect your account. This should be beneficial for everyone that uses FSFT.

Your Opinion on BFBC2 physics

Brackle

Old Timer
2FA
Joined
Jun 19, 2003
Messages
9,101
Since BFBC2 uses havok. To me this shows us that you dont need Nvidia physx.

So my question is, IF you played BFBC2 do you now think its still a marketing gimmick using Nvidia Physx?

And please keep this on topic and no swearing (shuttleluv).
 
I don't see how it shows anything about PhysX. What makes PhysX unique is it's ability to be accelerated on something other than the CPU. If they were able to make a havok implementation that, for example was able to be GPU accelerated via OpenCL or similar, now that would be impressive and potentially make PhysX obsolete.
 
Since BFBC2 uses havok. To me this shows us that you dont need Nvidia physx.

So my question is, IF you played BFBC2 do you now think its still a marketing gimmick using Nvidia Physx?

And please keep this on topic and no swearing (shuttleluv).

The thing that people seem to be not understanding correctly is that PhysX works EXACTLY THE SAME from a background perspective when running in software mode. PhysX vs. Havok vs. Bullet vs. ODE vs. whatever is largely irrelevant when talking about hardware accelerated physics and showing which physics engine is better.

The only difference from the end-user experience is that some engines have the ability to run on the graphics hardware to take advantage of that. However, games that are saving specific effects for video cards are doing it purely as an artificial limitation, likely in order to gain monetary support from the companies backing the engine.
 
I don't see how it shows anything about PhysX. What makes PhysX unique is it's ability to be accelerated on something other than the CPU. If they were able to make a havok implementation that, for example was able to be GPU accelerated via OpenCL or similar, now that would be impressive and potentially make PhysX obsolete.

Well considering it uses the CPU to use physics, This shows you dont need a 3rd party card to use physics at the same level of detail.

I think even Techreport showed that Sacred 2 when you dont use nvidia physx it was using 1 core...
Why not offload physics to the 3 other cores not being used?

BFBC2 shows you can use all 4 of yours cores, and it does physics quite well.

Which is why i think it is now a marketing gimmick. I am sorry but the physics in BFBC2 are amazing.

And I do not have a physics card....

P.S. link of Sacred 2 using 1 core when enabled Extra physx with Radeon.

"Ok, so it's hard to see, but Task Manager is showing CPU utilization of 14%, which means the game—and Nvidia's purportedly multithreaded PhysX solver—is making use of just over one of our Core i7-965 Extreme's eight front-ends and less than one of its four cores. I'd say that in this situation, failing to make use of the CPU power available amounts to sabotaging performance on your competition's hardware."

http://www.techreport.com/articles.x/17618/13
 
Last edited:
Well considering it uses the CPU to use physics, This shows you dont need a 3rd party card to use physics at the same level of detail.

I think even Techreport showed that Sacred 2 when you dont use nvidia physx it was using 1 core...
Why not offload physics to the 3 other cores not being used?

BFBC2 shows you can use all 4 of yours cores, and it does physics quite well.

Which is why i think it is now a marketing gimmick. I am sorry but the physics in BFBC2 are amazing.

And I do not have a physics card....

Right now it definitely is a marketing gimmick, if for not other fact then games out there now are not using accelerated physics engines in a way in which GPU acceleration is remotely useful. Even things like BC2 are not using Havok in a way in which you will see large framerate drops from the physics occuring, since they largely deal with localized destruction of things that then get put into "dead" states that aren't updated.

Situations where you would see any situation in which GPU acceleration is absolutely necessary are going to be games that use worlds that are at all times being physically simulated, and in which no objects are ever in "rest" states where physics calculations are largely ignored. At this point, you aren't going to see companies take on that sort of risk.

EDIT: And I guess to expand on my thoughts here, this game using PhysX would be the same game. From personal experience working on a PhysX project, running in hardware mode, you would likely see some performance increase, but it would be largely be an improvement in the minimum framerate and improvements in some of the larger framerate spikes than an improvement in the overall performance of the game. In the end though, these are things that would go largely unnoticed on a lot of modern systems.
 
Last edited:
Right now it definitely is a marketing gimmick, if for not other fact then games out there now are not using accelerated physics engines in a way in which GPU acceleration is remotely useful. Even things like BC2 are not using Havok in a way in which you will see large framerate drops from the physics occuring, since they largely deal with localized destruction of things that then get put into "dead" states that aren't updated.

Situations where you would see any situation in which GPU acceleration is absolutely necessary are going to be games that use worlds that are at all times being physically simulated, and in which no objects are ever in "rest" states where physics calculations are largely ignored. At this point, you aren't going to see companies take on that sort of risk.

I do agree with you.

And boy the amount of objects being moved around in BFBC2 with 32 people on is intense.
Tree's/fences/buildings/wood....pretty amazing. It's almost like playing in one of those Nvidia Physx demo's, except its using havok
 
I think they are pretty fantastic actually, it's pretty awesome in a 32 player game with buildings exploding and trees falling over and such.
 
Yeah Bad Company looks sweet when there's an all out war going on with crap blowing up all over the place. The destruction really adds a very dynamic feel to the whole experience. A lot of it is artistic though. Like schenskmill said, objects/debris either go dead or completely disappear after an explosion. But it doesn't matter really because it's the end effect that matters and it's by far the most dynamic environment I've ever seen in a game.

Hardware accelerated physics can make a difference but it's up to developers and artists to find creative ways of using real physical simulations to do things that aren't possible with precanned effects.
 
The physics in this game are unbelievable. This game easily maxes out all 4 cores. I've watched the resource monitor on my 2nd screen. It's a beautiful thing. I feel sorry for those with dual cores trying to play this game.

The physics are still amazing even when the game decides to flake out. Had an instance where every inanimate object not attached to the ground would start levitating, then come crashing down. Things would break or bounce like they were supposed to every time. :D Soon after the game crashed though. :(

And this is just BF: Bad Company 2. Just wait until BF3 comes out. I'm hoping they push it to 32 players per team (like BF2) instead of just 16 like it is now.
 
Yeah the destruction in BF:BC2 is amazing and really adds another dimension to the game experience. Destroying buildings and trees really changes how a map plays. What used to be a great cover at the start of the map can be a flatland minutes later and force you to change tactics.

According to the forums, this game loves quad core, which makes sense with all the stuff blowing up all the time. Must be hard on the CPU.
 
I would have thought most of this would be happening server-side?
 
I'm not impressed by BF:BC2's physics at all; they're cutting corners in order to keep performance up, and I find it very obvious.

For example, when you blow something up and debris go everywhere, the debris are completely non-interactive. Fragments simply pass through surrounding objects and fall right through the ground. This also has the effect of leaving very little kickable rubble around after an explosion, because it was all either removed from the scene to save on performance, or wasn't interactive and passed through the ground. All they have the physics engine doing is calculating an ark, it isn't taking collision into account at all on a lot of objects. Heck, shells don't even stay on the ground, they disappear as well.

The particle system isn't physics reactive either, it's emitter based, which leads to all sorts of weird inconsistencies when combined with the scripted environmental wind effects like dust blowing around. You end up with odd looking scenes where scripted dust and wind are blowing horizontally, while a column of smoke rises perfectly vertically from a blown up truck with no regard at all to the wind that's supposed to be there. Smoke trails from weapon fire also don't react to wind, they're just simple emitters.

They've traded realism for performance, simple as that. Hopefully developers will be able to release games with better physics now that we have OpenCL and DirectCompute to base physics engines off of.
 
I'm not impressed by BF:BC2's physics at all; they're cutting corners in order to keep performance up, and I find it very obvious.

For example, when you blow something up and debris go everywhere, the debris are completely non-interactive. Fragments simply pass through surrounding objects and fall right through the ground. This also has the effect of leaving very little kickable rubble around after an explosion, because it was all either removed from the scene to save on performance, or wasn't interactive and passed through the ground. All they have the physics engine doing is calculating an ark, it isn't taking collision into account at all on a lot of objects. Heck, shells don't even stay on the ground, they disappear as well.

The particle system isn't physics reactive either, it's emitter based, which leads to all sorts of weird inconsistencies when combined with the scripted environmental wind effects like dust blowing around. You end up with odd looking scenes where scripted dust and wind are blowing horizontally, while a column of smoke rises perfectly vertically from a blown up truck with no regard at all to the wind that's supposed to be there. Smoke trails from weapon fire also don't react to wind, they're just simple emitters.

They've traded realism for performance, simple as that. Hopefully developers will be able to release games with better physics now that we have OpenCL and DirectCompute to base physics engines off of.

You do realize it is still beta right?....not everything is going to be perfect right now.
 
I'm not impressed by BF:BC2's physics at all; they're cutting corners in order to keep performance up, and I find it very obvious.

For example, when you blow something up and debris go everywhere, the debris are completely non-interactive. Fragments simply pass through surrounding objects and fall right through the ground. This also has the effect of leaving very little kickable rubble around after an explosion, because it was all either removed from the scene to save on performance, or wasn't interactive and passed through the ground. All they have the physics engine doing is calculating an ark, it isn't taking collision into account at all on a lot of objects. Heck, shells don't even stay on the ground, they disappear as well.

The particle system isn't physics reactive either, it's emitter based, which leads to all sorts of weird inconsistencies when combined with the scripted environmental wind effects like dust blowing around. You end up with odd looking scenes where scripted dust and wind are blowing horizontally, while a column of smoke rises perfectly vertically from a blown up truck with no regard at all to the wind that's supposed to be there. Smoke trails from weapon fire also don't react to wind, they're just simple emitters.

They've traded realism for performance, simple as that. Hopefully developers will be able to release games with better physics now that we have OpenCL and DirectCompute to base physics engines off of.

problem i see with this statement is.. how many games actually do all that stuff? because i sure as hell havent seen any.. personally i find it nice that stuffs even breakable in multiplayer.. majority of games that have breakable objects only work in single player and are removed from the multiplayer so they dont degrade performance for people still running systems from circa 2002.. ill still wait for the final release to see what happens though i could careless what physics processor the game used because even if it was physX id probably turn it off anyways since i dont care about any of that stuff..
 
For example, when you blow something up and debris go everywhere, the debris are completely non-interactive. Fragments simply pass through surrounding objects and fall right through the ground. This also has the effect of leaving very little kickable rubble around after an explosion, because it was all either removed from the scene to save on performance, or wasn't interactive and passed through the ground. All they have the physics engine doing is calculating an ark, it isn't taking collision into account at all on a lot of objects. Heck, shells don't even stay on the ground, they disappear as well.

True but that's the core of the issue right there. Most people playing games will evaluate the quality of "physics" based on what they think is physics and not what's really going on behind the scenes. BFBC2 does a very good job of producing a hectic, destructible battlefield without too much heavy duty physics processing. PhysX has the opposite problem - so far developers haven't figured out how to use it to really bring the world alive. To your example, it would be great if smoke, wind and debris actually interacted with the environment to add even more realism and that's something GPUs could help with.
 
problem i see with this statement is.. how many games actually do all that stuff? because i sure as hell havent seen any.
There are a couple, but that level of precision requires more processing power than your average CPU is capable of dishing out.

PhysX has the opposite problem - so far developers haven't figured out how to use it to really bring the world alive. To your example, it would be great if smoke, wind and debris actually interacted with the environment to add even more realism and that's something GPUs could help with.
Batman: Arkham Asylum seems to be the first game that did environmental stuff with PhysX right.

All objects, cloth, ropes, and particles react to wind. Smoke, fog, and water react realistically to objects passing through them. All the debris generated by destructible objects take collision into account (bouncing off things and staying put on the ground rather than passing through it). Even sparks bounce and skid realistically across the ground rather than following a scripted path from their emitter.

It's a good first step, and shows what you can do when you have enough computing power to work with. Hopefully we'll see more GPU accelerated physics engines able to do this sort of thing in the future.
 
I'm not impressed by BF:BC2's physics at all; they're cutting corners in order to keep performance up, and I find it very obvious.

For example, when you blow something up and debris go everywhere, the debris are completely non-interactive. Fragments simply pass through surrounding objects and fall right through the ground. This also has the effect of leaving very little kickable rubble around after an explosion, because it was all either removed from the scene to save on performance, or wasn't interactive and passed through the ground. All they have the physics engine doing is calculating an ark, it isn't taking collision into account at all on a lot of objects. Heck, shells don't even stay on the ground, they disappear as well.

The particle system isn't physics reactive either, it's emitter based, which leads to all sorts of weird inconsistencies when combined with the scripted environmental wind effects like dust blowing around. You end up with odd looking scenes where scripted dust and wind are blowing horizontally, while a column of smoke rises perfectly vertically from a blown up truck with no regard at all to the wind that's supposed to be there. Smoke trails from weapon fire also don't react to wind, they're just simple emitters.

They've traded realism for performance, simple as that. Hopefully developers will be able to release games with better physics now that we have OpenCL and DirectCompute to base physics engines off of.

True, but its a step in the right direction. You can't sacrifice too much performance when its a multiplayer game otherwise you just fall into the Crysis syndrome where no one actually wants to play the multiplayer because they can't get reasonable performance.

You need a mainstream game that has damage like this before it will be developed more and actually take advantage of the physics capabilities of modern PCs.
 
All objects, cloth, ropes, and particles react to wind. Smoke, fog, and water react realistically to objects passing through them. All the debris generated by destructible objects take collision into account (bouncing off things and staying put on the ground rather than passing through it). Even sparks bounce and skid realistically across the ground rather than following a scripted path from their emitter.

Yes, Batman is the best showcase for PhysX to date. It raises an interesting question for multiplayer titles though. People make the distinction between effects physics and gameplay physics but it's not so cut and dry. In BFBC2 smoke is just a visual effect but it obviously affects visibility which in turn impacts gameplay. If one guy has realistic smoke and the other guy just gets the precanned smoke they could potentially see two different things and gain/lose an advantage as a result.
 
I'm not impressed by BF:BC2's physics at all; they're cutting corners in order to keep performance up, and I find it very obvious.

I'm sorry, whats the problem here? You'd rather the game make every current system seem like crap? Do you want another Crysis, where more emphasis is put on visuals, than on gameplay?

I hate to bust your balls over a somewhat true statement, but I'd much rather have my 60fps and CPU-based physics than 25fps and being forced into Nvidia's physX scam.

This game uses physics to enhance the gameplay experience, and it does its job very well. I game with a bunch of guys who could care less who has the better physics engine, etc. and none of them have had a negative comment about BC2's implementation of damage physics. That's right, a bunch of guys I get on TS with who just like to play the game have not had a single negative comment on the physics.
 
I'm sorry, whats the problem here? You'd rather the game make every current system seem like crap? Do you want another Crysis, where more emphasis is put on visuals, than on gameplay?
I never said that. What they should implement is decent scaling; keep the current settings for people who can only run CPU physics, but have higher (more realistic) settings available for those who can run hardware accelerated physics at a decent speed.

I hate to bust your balls over a somewhat true statement, but I'd much rather have my 60fps and CPU-based physics than 25fps and being forced into Nvidia's physX scam.
I have no trouble maintaining 60FPS in PhysX titles, but then, I have a 9800GT dedicated to PhysX rather than trying to do both graphics and PhysX on one card, so I experience (almost) no framrate hit by enabling hardware physics processing.

It's not a scam, but if you're already GPU-limited in a game, piling physics processing onto an already-straining GPU isn't going to help :p . It's more than possible to see framrates improve going from CPU to GPU physics when the game is CPU limited. It all depends on your hardware and the workload.
 
I don't see how it shows anything about PhysX. What makes PhysX unique is it's ability to be accelerated on something other than the CPU. If they were able to make a havok implementation that, for example was able to be GPU accelerated via OpenCL or similar, now that would be impressive and potentially make PhysX obsolete.

havok already previewed an opencl accelerated version of their physics engine on amd hardware last year at GDC.
 
I care about destructible building physics which Physx has not emphasized very often.

most of what Physx provides is added effects and those effects being subject to environmental physics. I do not care about this type effect and think most of them can be done via CPU.
 
I care about destructible building physics which Physx has not emphasized very often.

most of what Physx provides is added effects and those effects being subject to environmental physics. I do not care about this type effect and think most of them can be done via CPU.
Wait, what? What about all the destructible stuff in Unreal Engine 3 based games (UT3, Mirrors Edge, Batman, Bioshock, etc)???

PhysX is just as cappable of blowing up a building as Havok :p
 
Well let's see what the guys working on Metro 2033 have done with it. It sounds like they're trying to do as much as they can on the CPU and just add a little extra on top for GPU accelerated effects. With all the back and forth about PhysX gimping CPUs it'll be interesting to see what approach they've taken and hopefully put an end to that endless debate for good.

http://physxinfo.com/news/1881/metro-2033-interview-with-4a-games-on-physics-and-physx/

PhysXInfo.com: Will Metro 2033 contain destructible objects, and in what quantity ?

Yuriy: Our engine supports destructible environments, and this component is used in the game.

PhysXInfo.com: Tell us a bit about hardware PhysX support in the game. Presence of appropriate Nvidia GPU will simply increase the fps numbers or add some exclusive effects ? Will GPU PhysX content have influence on gameplay ? Which advanced physics effects will be included ?

Yuriy: PhysX hardware acceleration capability of Nvidia GPUs will add performance in the first place. There are two physics modes in Metro 2033 – basic and so-called, “Advanced PhysX”, which will include both enhanced, more detailed effects from basic mode and some additional physics features. Advanced PhysX mode requires appropriate Nvidia GPU to run properly, meanwhile, it will not affect gameplay, just add some immersion. Or engine support cloth and fluid simulation. By “fluid simulation” we imply various particles system, like lighter- and heavier-than-air gases, smoke, dust, debris from bullet hits, not only liquids.

PhysXInfo.com: As it was said previously, your game supports multi-core CPUs. Does physics simulation take advantage of additional cores ?

Yuriy: Yes.
 
Since BFBC2 uses havok. To me this shows us that you dont need Nvidia physx.
So my question is, IF you played BFBC2 do you now think its still a marketing gimmick using Nvidia Physx?
And please keep this on topic and no swearing (shuttleluv).
Considering it directly affects gameplay, no, not at all. It's actually pretty interesting, and hopefully will be even better in the release game (supposedly the graphics are gimped in the beta). I don't think any game ever "needed" PhysX, it just needed a physics engine. That said, I greatly prefer Havok's physics implementation (in performance, visuals, and gameplay) in BFBC2 as opposed to the gimmicky effects usually implemented with PhysX.
Well let's see what the guys working on Metro 2033 have done with it. It sounds like they're trying to do as much as they can on the CPU and just add a little extra on top for GPU accelerated effects. With all the back and forth about PhysX gimping CPUs it'll be interesting to see what approach they've taken and hopefully put an end to that endless debate for good.

http://physxinfo.com/news/1881/metro-2033-interview-with-4a-games-on-physics-and-physx/
Thanks for the link. This could be great depending on how it's finally executed. Again, if it just ends up being gimmicky effects for the GPU and basic physics for the CPU, it doesn't matter if PhysX uses multiple CPU cores if they didn't do anything with the extra horsepower.
 
What they should implement is decent scaling; keep the current settings for people who can only run CPU physics, but have higher (more realistic) settings available for those who can run hardware accelerated physics at a decent speed.

That doesn't really work in a multiplayer title. At least not interactive physics objects.
 
I have no trouble maintaining 60FPS in PhysX titles, but then, I have a 9800GT dedicated to PhysX rather than trying to do both graphics and PhysX on one card, so I experience (almost) no framrate hit by enabling hardware physics processing.

Really? I find this kind of hard to believe to be honest unless you game at a semi-low resolution. I mean, if you look at Tech Report.com's review of the 5870 and specifically Scared 2, they were using dual GTX295s, one dedicated to PhysX and one dedicated to well graphics. While running at 2650x1600x4MSAA, the game's frame rates basically halved with PhysX and dropped as low as 15 fps and averaged around 22 fps.

I'm curious, with PhysX titles like this, how your able to reach 60 FPS? I mean, they are using dual GTX295 paired with an iCore i7-975 processor. What video card/card combination are oyu using that allows you to get double the frame rates of a dual GTX295 system? :eek:?

I mean I guess you could say you don't trust TechReport.com's figures but even hardocp.com was using a GTX295 in their Dark Void PhysX gameplay and IQ article that was released just this week and showed an average fps of 48.6fps at 2500x1600x16afx0AA. I'd hate to see what happened if you tried to enable AA on that situation. The article even specified that turning PhysX on to high versus off was a 50% drop in performance. I'm still not seeing how your maintaining a constant 60 fps? Do you have a really good custom config file for Dark Void that let's you squeeze out those extra 12 fps?
 
Well considering it uses the CPU to use physics, This shows you dont need a 3rd party card to use physics at the same level of detail.

I think even Techreport showed that Sacred 2 when you dont use nvidia physx it was using 1 core...
Why not offload physics to the 3 other cores not being used?

BFBC2 shows you can use all 4 of yours cores, and it does physics quite well.

Which is why i think it is now a marketing gimmick. I am sorry but the physics in BFBC2 are amazing.

And I do not have a physics card....

P.S. link of Sacred 2 using 1 core when enabled Extra physx with Radeon.

"Ok, so it's hard to see, but Task Manager is showing CPU utilization of 14%, which means the game—and Nvidia's purportedly multithreaded PhysX solver—is making use of just over one of our Core i7-965 Extreme's eight front-ends and less than one of its four cores. I'd say that in this situation, failing to make use of the CPU power available amounts to sabotaging performance on your competition's hardware."

http://www.techreport.com/articles.x/17618/13

Sorry guy but you don't seem to get it. The CPU multi-core implementation requires the developer to explicitly break their physics into "scenes", which will be independant of one another, and will each run on a separate core. That's the developers responsbility. The PhysX library can't possibly efficiently automatically scale across multiple cores without the developers providing some information bout the physics scenes. It's not like you just put PhysX in your game and it will automatically use everything you have for CPU usage.. to the contrary, it's *completely* within the developers control.

If you look at 3DMark Vantage (one case where the devs went to the trouble of doing this) you can see it scale across all cores. That's proof that it's capable of it. The only reason you're not seeing this in games today is that the devs have tight development cycles. Integrating PhysX adds to their development time. Then, getting it to scale across multiple cores would add a lot more time.

For current PhysX effects which would run crappy on the the CPU anyway (because of their algorithm), most developers don't bother wasting their time trying to get them to run on the CPU, because if you have 3FPS with, say, particle PhysX on 1 core, and you got it to scale very well, you'd get max 10FPS (you wouldn't get perfect scaling, plus some cycles would be used for rendering, sound, and other engine stuff) after all that hard work and time to get it to scale across CPU cores.. particles, cloth, fluids, all map better algorithmically to the GPU. So if it already runs very well on the GPU most devs say "why bother putting the work in to get 10FPS on the CPU when users can just turn off PhysX and play fine? It's a feature add anyway."

So try to make the business case to a head of a dev studio of spending hours getting from 3 to 10FPS on even the top of the line CPUs when it's already known to run 30-60fps on NVIDIA GPUs, which account for 65% of the market...

By the way, not enough can be said about algorithms. I see so many people in here spouting like they understand a damn thing about physics calculations. The bottom line is they don't understand and say "omg this should run fine on the CPU". But the fact is it won't. The reason for this is certain algorithms greatly benefit from a GPU's strengths, and some greatly benefit from a CPU's strengths. Therefore you won't see quality fluids or smoke or particles or cloth on a CPU... but you will see rigid bodies on the CPU because the calculations benefit from the CPUs serial processing strength.

That's why in BFBC2 you only see basic rigid bodies at work. Nothing new, nothing that interesting. That's the way it stands with the division of physics calculations, and that's the way it's likely to stay for the foreseeable future.
 
Last edited:
BlueStorm would you mind going into a bit of detail from the programmers prespective if you can (and it sounds like you can). I know a little about programming for CPUs but almost nothing when it comes to GPU programming. Is there a different instruction set which is easier to solve these physics problems with? Is a GPU just able to calculate more concurrently because of all of the cores, and that is what makes real time phyics faster on them? This is still an area where I feel like a complete noob. :(
 
The Physics are pretty basic in BC2 and while a lot of the stuff dissapears after a while for the sake of performance, the destructible environments actually change game play which is more that can be said for any GPU PhysX title which just tack on extra effects after the game is actually complete.
 
Really? I find this kind of hard to believe to be honest unless you game at a semi-low resolution. I mean, if you look at Tech Report.com's review of the 5870 and specifically Scared 2, they were using dual GTX295s, one dedicated to PhysX and one dedicated to well graphics. While running at 2650x1600x4MSAA, the game's frame rates basically halved with PhysX and dropped as low as 15 fps and averaged around 22 fps.
That kind of setup, using GTX295's, doesn't make any sense AT ALL.

SLI doesn't let you selectively enable it, it's all-or-nothing across any compatible cards in the system. If they had two GTX295's in one system, and they disabled quad-SLI, each GPU would act independently. Only one GPU on the first GTX295 would be used for graphics, and only one core on the second GTX295 would be used for PhysX.

If their first benchmarks were done with Quad SLI enabled, then all 4 GPU's would be working together. If they turned off SLI and dedicated the second GTX295 to PhysX, you're suddenly using only 1 GPU for graphics instead of 4. No wonder their framrates tanked :rolleyes:

The only way to effectively enable hardware PhysX with dual GTX295's is to leave them in quad SLI, and let the entire SLI set handle PhysX. Obviously, this means there's no one GPU dedicated to PhysX, but it doesn't leave two of your cores sitting idle either.

I mean I guess you could say you don't trust TechReport.com's figures
I don't :p

even hardocp.com was using a GTX295 in their Dark Void PhysX gameplay and IQ article that was released just this week and showed an average fps of 48.6fps at 2500x1600x16afx0AA. I'd hate to see what happened if you tried to enable AA on that situation. The article even specified that turning PhysX on to high versus off was a 50% drop in performance. I'm still not seeing how your maintaining a constant 60 fps?
Once again, the GTX295 is a horrible test for this. Were they running the two cores on the card in or out of SLI? If they were running them in SLI, and they dumped PhysX on the card, then OF COURSE framrates are going to be lower. They've just taken processing power away from the SLI set in order to run a physics simulation as well.

Have them test with a single GTX295, with SLI disabled. Test with PhysX off completely (the game will be running on only one GPU), then turn PhysX on and dedicate it to the second GPU (with SLI still turned off). This way, PhysX is never running on the same GPU that's doing the rendering, so you get accurate results without PhysX taking away horsepower from the primary card.

Do you have a really good custom config file for Dark Void that let's you squeeze out those extra 12 fps?
I'm testing with Batman Arkham Asylum, my primary card (dedicated to graphics) is a GTX260, my secondary card (dedicated to PhysX) is a 9800GT.

PhysX turned on, with the 9800GT set to handle PhysX, yields very similar famrates to having PhysX off completely. I imagine the very slight performance hit comes from the GTX260 now having more stuff to render because of the extra particles and debris being generated with PhysX turned on.

It's possible this is what's causing performance issues in Dark Void; the amount of objects and particles that need to be rendered go through the roof with PhysX enabled, so you're hitting your graphics card harder even with PhysX running entirely on another GPU.
 
Last edited:
BlueStorm would you mind going into a bit of detail from the programmers prespective if you can (and it sounds like you can). I know a little about programming for CPUs but almost nothing when it comes to GPU programming. Is there a different instruction set which is easier to solve these physics problems with? Is a GPU just able to calculate more concurrently because of all of the cores, and that is what makes real time phyics faster on them? This is still an area where I feel like a complete noob. :(

It's not a matter of individual instructions.. it's a matter of how the data can be processed. It's a question of, for your task can you do all the calculations for the objects (whether they're rigid bodies, particles, fluids, etc.) in parallel, without the need to first find out results from other objects being calculated? If so then you can probably calculate this on the GPU and see a tremendous speedup over the CPU. But if not, then you'd be better served by the CPU, which is much faster than a GPU for serial calculations (think one after another) due to it's heavy investment over the years into prediction, branching performance, and other serial enhancing aspects. Intel sure has optimized the hell out of this serial processor we all know and love.

GPU vs. CPU comes down to "What type of processing power do you need for your task? Parallel or Serial processing?" Neither solves all problems. You need both. That's why it's laughable that many assume that because a CPU is best at doing rigid bodies (like a wall blowing apart), it can also do particles, smoke, fluids, cloth.. it can't and it's just not the same type of math. These things don't map well to the CPU.
 
Sorry guy but you don't seem to get it. The CPU multi-core implementation requires the developer to explicitly break their physics into "scenes", which will be independant of one another, and will each run on a separate core. That's the developers responsbility. The PhysX library can't possibly efficiently automatically scale across multiple cores without the developers providing some information bout the physics scenes. It's not like you just put PhysX in your game and it will automatically use everything you have for CPU usage.. to the contrary, it's *completely* within the developers control.

If you look at 3DMark Vantage (one case where the devs went to the trouble of doing this) you can see it scale across all cores. That's proof that it's capable of it. The only reason you're not seeing this in games today is that the devs have tight development cycles. Integrating PhysX adds to their development time. Then, getting it to scale across multiple cores would add a lot more time.

For current PhysX effects which would run crappy on the the CPU anyway (because of their algorithm), most developers don't bother wasting their time trying to get them to run on the CPU, because if you have 3FPS with, say, particle PhysX on 1 core, and you got it to scale very well, you'd get max 10FPS (you wouldn't get perfect scaling, plus some cycles would be used for rendering, sound, and other engine stuff) after all that hard work and time to get it to scale across CPU cores.. particles, cloth, fluids, all map better algorithmically to the GPU. So if it already runs very well on the GPU most devs say "why bother putting the work in to get 10FPS on the CPU when users can just turn off PhysX and play fine? It's a feature add anyway."

So try to make the business case to a head of a dev studio of spending hours getting from 3 to 10FPS on even the top of the line CPUs when it's already known to run 30-60fps on NVIDIA GPUs, which account for 65% of the market...

By the way, not enough can be said about algorithms. I see so many people in here spouting like they understand a damn thing about physics calculations. The bottom line is they don't understand and say "omg this should run fine on the CPU". But the fact is it won't. The reason for this is certain algorithms greatly benefit from a GPU's strengths, and some greatly benefit from a CPU's strengths. Therefore you won't see quality fluids or smoke or particles or cloth on a CPU... but you will see rigid bodies on the CPU because the calculations benefit from the CPUs serial processing strength.

That's why in BFBC2 you only see basic rigid bodies at work. Nothing new, nothing that interesting. That's the way it stands with the division of physics calculations, and that's the way it's likely to stay for the foreseeable future.

I might not be a coder, or know how exactly it works, I mean shit i am not that stupid i dont think

All I am saying is, when a game uses 1 CPU core for a game with physx's turned on to maximum....something tells me they could use that extra 3 cores for some physx for better performance.

And to me BFBC2 has hit it spot on for MP physx. It just shows you dont need some extra wannabe GPU to do it.

the CPU does it no problem. I just see proof, not some mumbo jumbo technology talk.

Results > Theory
 
Last edited:
Just have to say, I'm loving BC2 at the moment, lots of fun blowing shit up :)

I'm not impressed by BF:BC2's physics at all; they're cutting corners in order to keep performance up, and I find it very obvious.

They're not cutting corners, they've made a multiplayer game thats aimed at the largest target audience possible. PhysX is an interesting technology but when you require your userbase to basically buy a PPU, or use one specific brand of hardware you're alienating a lot of players.

BC2 uses what hardware we all have in common for its physics processing, the CPU, this limits what can be done somewhat but allows everyone to play. While PhysX requires a dedicated PPU or an Nvidia GPU, it will never take off in mainstream games as apart of the core gameplay, it will only be used for additional superficial effects.

Yeah the destruction in BF:BC2 is amazing and really adds another dimension to the game experience. Destroying buildings and trees really changes how a map plays. What used to be a great cover at the start of the map can be a flatland minutes later and force you to change tactics.

Yeah they've made the game really well, the buildings provide good cover but over time get more gutted until eventually they're useless for cover or completely colapse. It really adds to the gameplay and actually this is something that PhysX is very bad at, I'll come back to that in a moment.

"Ok, so it's hard to see, but Task Manager is showing CPU utilization of 14%, which means the game—and Nvidia's purportedly multithreaded PhysX solver—is making use of just over one of our Core i7-965 Extreme's eight front-ends and less than one of its four cores. I'd say that in this situation, failing to make use of the CPU power available amounts to sabotaging performance on your competition's hardware."

http://www.techreport.com/articles.x/17618/13

See this is interesting, I bloged about Dishonest PhysX a while back. It basically addresses Nvidias bid for dominance in the realm of physics processing.

Nvidia do 2 things that really get my goat, first of all they do not optimise for multicore CPUs very well at all, I played the Batman AA demo with CPU PhysX and had about 25-30fps for most of the game on my quad core, the CPU usage never really went above 50% on my quad core, it was never quite playable in most areas, if they had got CPU usage at something like 80-90% then it would have easily been playable without dedicated PhysX hardware.

Second they do their TWIMTBP program with developers and we find that we get 2 modes, a traditional CPU based PhysX and a hardware accelerated PhysX. The problem is that they take a lot of the basic physics effects that you'd expect to see in the CPU based physics and lock that content into the hardware accelerated physics. Yes I understand that some things like cloth and liquid need a PPU/GPU but a lot of other effects dont. There were some of areas in Batman AA where it would still run well on the CPU because only certain effects were used that the CPU actually didn't have problem dealing with (even after Nvidias 50% efficiency).

This all or nothing approach hurts gamers who do not have dedicated PhysX hardware, we have a lot of our CPU based effects removed because apparantly the CPU can't do them anymore, BULLSHIT.

Wait, what? What about all the destructible stuff in Unreal Engine 3 based games (UT3, Mirrors Edge, Batman, Bioshock, etc)???

PhysX is just as cappable of blowing up a building as Havok :p

Actually I don't know if thats true. I don't recall seeing a game yet made which uses PhysX and introduced effects which are significant to the environment which a CPU based physics engine cannot also do.

And by significant to the environment I mean, it effects gameplay and is not just pretty eyecandy. You see PhysX is very nice and all but fluid effects, cloth effects and most smoke/particle effects are not significant to gameplay, they just make it look more pretty.

When building a game like BC2 you're building a game where the physics are relevent to the gameplay, it means a buildings walls stop projectiles like bullets until they're blown up by explosives, now they're gone. Buildings can collapse on peoples heads and kill them. Trees can fall over and block your path until they're blown up etc.

PhysX has a big problem in that game logic is calculated on the CPU and calculating physics far away from the CPU (graphics card or PPU) means that the link between the 2 is slow. This is a problem as people like Gabe Newell have pointed out, how do we know if a large chunk of rock has done damage when it fell on to a players head? How do we get AI to navigate around that chunk of rock? Waiting for the GPU/PPU to pass the right information back to the CPU ends up making it a physics decelerator.

quote from Gabe

“I think that’s a horrible idea. At the same time that the distinction between the GPU and CPU is going away, the PPU guys want to come in and define a new set of abstractions, where we have memory and data that’s really far away from the CPU and CPU... How do I tell when something breaks, or gets pushed by a monster? All these decisions I have on my CPU have to sit around until they are resolved on the PPU and GPU, and you end up with a physics decelerator. This is the reason you want a homogenous architecture,”

Bring this back to the context of BC2...could PhysX power all of that, especially in a multiplayer environment?

Well I'm not so sure, we've seen plenty of applications where PhysX shows off effects, but thats all they are, a nice graphical effect, nothing actually important to the gameplay. The only single game I recall where PhysX objects effect gameplay is CellFactor, you could kill other players by slamming physics objects into them, but low and behold...you put that on the CPU and remove the cloth and liquid physics (irrelevent to gameplay) and it runs fine!

*edit*

I should also introducet the idea of bandwidth, CellFactor had lots of PhysX going over a multiplayer engine and was using massive amounts of bandwidth, the sort of thing at the time was more or less reserved for LAN play. Although I'm sure some of us would be able to run that fine (i personally have a 50mbit connection) I suspect a great many people would have bandwidth issues with the increased netcode if a game like BC2 were to leave chunks of the level laying around rather than just using emitter effects where debris doesn't settle.
 
Last edited:
no no no no no

I mean given the parallel computing nature of GPU's its physics HAS to perform better than your every day CPU

Of course the code could run on CPU's but that is in the same league of rendering DirectX applications using CPU emulation only


The thing that people seem to be not understanding correctly is that PhysX works EXACTLY THE SAME from a background perspective when running in software mode. PhysX vs. Havok vs. Bullet vs. ODE vs. whatever is largely irrelevant when talking about hardware accelerated physics and showing which physics engine is better.

The only difference from the end-user experience is that some engines have the ability to run on the graphics hardware to take advantage of that. However, games that are saving specific effects for video cards are doing it purely as an artificial limitation, likely in order to gain monetary support from the companies backing the engine.
 
They're not cutting corners, they've made a multiplayer game thats aimed at the largest target audience possible. PhysX is an interesting technology but when you require your userbase to basically buy a PPU, or use one specific brand of hardware you're alienating a lot of players.
PhysX can run on CPU's as well, it doesn't require you have hardware like an Nvidia graphics card to support it. Developers impose those restrictions, they aren't inherent to PhysX itself. In fact, there are quite a few PhysX based games that don't use GPU acceleration at all, they run entirely on the CPU just fine.

The developers can code hardware accelerated physics to scale, if they choose to do so, simple as that.

Besides, I never specifically suggested PhysX be used for BF:BC2. It could be hardware accelerated Havoc for all I care, I just want the option of turning up physics precision so stuff stops passing through the ground because the CPU can't handle calculating collision.

PhysX requires a dedicated PPU or an Nvidia GPU, it will never take off in mainstream games as apart of the core gameplay, it will only be used for additional superficial effects.
Once again, PhysX itself does not require a PPU or Nvidia GPU to function. Many PhysX games don't use GPU acceleration at all, and scale just fine.

Yeah they've made the game really well, the buildings provide good cover but over time get more gutted until eventually they're useless for cover or completely colapse. It really adds to the gameplay and actually this is something that PhysX is very bad at, I'll come back to that in a moment.
[...]
I don't recall seeing a game yet made which uses PhysX and introduced effects which are significant to the environment which a CPU based physics engine cannot also do.

And by significant to the environment I mean, it effects gameplay and is not just pretty eyecandy. You see PhysX is very nice and all but fluid effects, cloth effects and most smoke/particle effects are not significant to gameplay, they just make it look more pretty.

When building a game like BC2 you're building a game where the physics are relevent to the gameplay, it means a buildings walls stop projectiles like bullets until they're blown up by explosives, now they're gone. Buildings can collapse on peoples heads and kill them. Trees can fall over and block your path until they're blown up etc.
As I mentioned before, games like Unreal Tournament 3 have showcased PhysX's ability to create fully destructible environments, even in multiplayer.

There are a bunch of maps for UT3, which uses PhysX, that can be completely leveled. Walls come down, cover disappears, walkways collapse, etc. Not only that,b ut the debris takes collision into account and stays on the map, further effecting gameplay and enhancing realism. An overhang can become a rubble pile that you can then use for cover, and it doesn't have to be scripted!

I could cite example after example of PhysX being used to alter gameplay... seriously, how have you missed all this?

they do their TWIMTBP program with developers and we find that we get 2 modes, a traditional CPU based PhysX and a hardware accelerated PhysX. The problem is that they take a lot of the basic physics effects that you'd expect to see in the CPU based physics and lock that content into the hardware accelerated physics. Yes I understand that some things like cloth and liquid need a PPU/GPU but a lot of other effects dont. There were some of areas in Batman AA where it would still run well on the CPU because only certain effects were used that the CPU actually didn't have problem dealing with (even after Nvidias 50% efficiency).
Blame Edios for not optimizing their game properly, the PhysX physics engine is more than capable of scaling on CPU's.

It's also worth noting. TWIMTBP doesn't mean Nvidia instantly has full control over a project. Heck, it doesn't even stop ATi from backing the game as well.

This all or nothing approach hurts gamers who do not have dedicated PhysX hardware, we have a lot of our CPU based effects removed because apparantly the CPU can't do them anymore, BULLSHIT.
Once again, PhysX can do them just fine, CPU, GPU, PPU, wherever. Blame developers for not using it properly.

Bring this back to the context of BC2...could PhysX power all of that, especially in a multiplayer environment?
If the fully destructible PhysX maps in Unreal Tournament III are any indication, it sure can! :D

Well I'm not so sure, we've seen plenty of applications where PhysX shows off effects, but thats all they are, a nice graphical effect, nothing actually important to the gameplay.
I think you've got some seriously selective memory going on there ;)
 
The Physics are pretty basic in BC2 and while a lot of the stuff dissapears after a while for the sake of performance, the destructible environments actually change game play which is more that can be said for any GPU PhysX title which just tack on extra effects after the game is actually complete.

I agree (shock), at least the physics and destructable environments change the gameplay, unlike games like Batman : AA where it's all fancy graphical effects and seems like it was bolted on at the last minute.

From a selfish point of view, it's a shame Bad Company 2 doesn't use PhysX so to take some of the load off my CPU (defo CPU intensive). This game could have really taken PhysX to a new league (I have a spare 8800GT as a PhysX card, sitting there doing nothing)

The destructive environment in BC2 is probably the games best feature. It can make for some very amusing gameplay, one second you're camped safely behind a cement wall and the next you've got about as much protection as a used condom and have to scarper for more cover. Plenty of 'oh shit' moments!

I half wish I hadn't given my key away now, but got to rank 11 in no time anyway.
 
... one second you're camped safely behind a cement wall and the next you've got about as much protection as a used condom and have to scarper for more cover...
Lmfao, too true. So many "shit shit shit!" moments running for cover after a tank just blew mine away.
 
PhysX can run on CPU's as well, it doesn't require you have hardware like an Nvidia graphics card to support it. Developers impose those restrictions, they aren't inherent to PhysX itself. In fact, there are quite a few PhysX based games that don't use GPU acceleration at all, they run entirely on the CPU just fine.

The developers can code hardware accelerated physics to scale, if they choose to do so, simple as that.

Besides, I never specifically suggested PhysX be used for BF:BC2. It could be hardware accelerated Havoc for all I care, I just want the option of turning up physics precision so stuff stops passing through the ground because the CPU can't handle calculating collision.

I am aware that PhysX can run on the CPU, maybe my post indicated otherwise, that's my mistake. Actually PhysX on the CPU while do-able certainly hasn't been optimised well in a lot of cases, Batman AA is a perfect example of this.

Well it's a trade off of time vs reward like many things in games now a days, currently there isn't really a great deal of people who have the possibility to use hardware accelerated PhysX, we've only got it running on PPUs which are rare amongst gamers, and only Nvidia cards support GPU accelerated PhysX at the moment, of those users only a handful have cards powerful enough to dediate a portion of their processing time to PhysX work. While the audience is small a lot of developers aren't going to bother.

Once again, PhysX itself does not require a PPU or Nvidia GPU to function. Many PhysX games don't use GPU acceleration at all, and scale just fine.

Again i didn't word this very well, sure you can do PhysX on a CPU but you're not bringing anything new to the table, in fact it's a bad thing because there's a lot of examples of PhysX running very badly on CPUs, there's examples in this thread already.

As I mentioned before, games like Unreal Tournament 3 have showcased PhysX's ability to create fully destructible environments, even in multiplayer.

I could cite example after example of PhysX being used to alter gameplay... seriously, how have you missed all this?
I'll have to look into UT3, I know it had a few PhysX enabled maps that were destroyable, although I dont know quite how that effects gameplay, if anyone has any details about how the PhysX in these levels behaves it would be interesting to hear it, does the AI navigate around broken pieces ok? Can the flying pieces hurt people? Can you shoot through the broken pieces? etc

These are the sorts of things that allow PhysX to effect actual gameplay...a simple wall to blow up is easy to do you dont even need physics for it.

But this is just 1 example. Most of the examples I've seen are simply using PhysX as eyecandy where the effects don't actually change any state in the game. You claim you can cite many games where the PhysX are not just for effects, I'd like to see that list, I certainly don't know of more than CellFactor and UT3

Blame Edios for not optimizing their game properly, the PhysX physics engine is more than capable of scaling on CPU's.

I dont think its Edios's job to optimize physics scaling, that's the PhysX APIs job, afterall the hardware in use is transparent to the developers, they just make one set of code and the API changes that into instructions to run on the various hardware. If PhysX is going to run really badly on CPUs then it's going to be a big turn off for developers who are wanting to provide decent fallback effects for users with no hardware acceleration for physics.

It's also worth noting. TWIMTBP doesn't mean Nvidia instantly has full control over a project. Heck, it doesn't even stop ATi from backing the game as well.

They medle, they can't help themselves, it's good they work with developers but it's mostly to try and one up ATI. For example it should have been the developers job to get AA working properly in Batman AA but nvidia come along and do the work for them and then get them to withhold the code from ATI users. If the developer had just done that themselves then it would have gone equally to both camps.

Suffice to say Nvidia have proven to me that they're not capable of being altrusitic with TWIMTBP, it's definately done so they can medle and cause themselves an advantage.

Once again, PhysX can do them just fine, CPU, GPU, PPU, wherever. Blame developers for not using it properly.

Sure but if in a game like Batman AA I dont have hardware acceleration for PhysX and I want say breakable objects in games like the pillars or the floor tiles, and a few other effects like sparks that collide and maybe a dynamic cape, all of which the CPU can deal with easily...I can't have any of that, I have to either enable all of it, or nothing which causes unplayable frame rates. Thats Nvidia medling with the development of the game getting these "physx effects" all lumped into one setting making hardware accelerated physx appear more appealing than it really is...at the same time denying CPU PhysX users of seeing a lot of effects they should easily be able to use.

I mostly blame Nvidia for medleing, we've not seen this sort of crap outside a TWIMTBP game, Nvidia get involved and suddenly we have to buy their kit just to get effects in games which are perfectly do-able on the CPU. It's no big surprise they're after the boosted hardware sales!
 
Back
Top