• 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.

multithreaded CPU outperform GPU physx?

Tamlin_WSGF

2[H]4U
Joined
Aug 1, 2006
Messages
3,167
Came over this thread at B3D that was interesting:
I know PhysX is a hot topic on this forum and there's been a lot of wild speculation that Nvidia have been purposefully gimping the performance of the CPU fallback of their PhysX engine in a whole bunch of games. Well now that Fluid Mark has been updated with multi threaded optimisations, there can be no doubt that this was the case. A good old Q9400 is 4x faster than a dedicated GTX 260 PhysX card used to be.
http://forum.beyond3d.com/showthread.php?t=56878

We all might remember Batman AA, which was a postergame for Nvidia regarding GPU accelerated PhysX and where CPU physx was broken, so regardless if you ran 1280x1024 or 2560x1600, you got the same framerate.
http://www.tomshardware.com/reviews/batman-arkham-asylum,2465-6.html

For a game that advertises PhysX effects, it would normally be strange if the developer didn't fix the broken CPU PhysX. But, if the game was intentionally gimped to show off GPU physX, no wonder why they still haven't fixed the broken CPU PhysX in Batman. GPU accelerated PhysX killed over 50% of the framerate when enabled, so many turned it off.

I think Nvidia would face a problem if CPU PhysX would be fixed in Batman. People have a lot of CPU power to spare that sits idle in Batman. If it would turn out that they actually would benefit more with using CPU physx, then why on earth should people buy Nvidia cards for PhysX then? :D

Here's the graph using multi-core physx in Fluidmark vs. GPU PhysX:
fluidmark_graph.jpg

Made by and kudos to: physxinfo.com
http://physxinfo.com/news/2390/new-physx-fluidmark-1-2-first-tests/

Question is: Will we ever see this fixed in Batman for some real comparison of CPU vs. GPU PhysX, or will it remain crippled to push GPU's?
 
silly nvidia, maybe thats why they unblocked ati + nvidia cards, people realize that the CPU is better anyway... and buying into the physx thing was the mark of a sucker
 
I know nVidia has denied this, but if I recall their denial leaves a lot of grey area. Believe it was something along the lines of 'the PhysX API fully supports multi-threaded CPU processing if developers use it', of course since nVidia wrote the PhysX effects for Batman they likely didn't make use of multi-core CPU's because they didn't care..
 
silly nvidia, maybe thats why they unblocked ati + nvidia cards, people realize that the CPU is better anyway... and buying into the physx thing was the mark of a sucker

With all the new games screaming for GPU power, its often good to load something off on the CPU (especially for those that invested in a good CPU). GPU PhysX have a big framerate hit when not using a dedicated card, so with optimized multi-core CPU physX, PhysX might turn into something more useful instead of a feature that forces you to turn off other eyecandy options.
 
I know nVidia has denied this, but if I recall their denial leaves a lot of grey area. Believe it was something along the lines of 'the PhysX API fully supports multi-threaded CPU processing if developers use it', of course since nVidia wrote the PhysX effects for Batman they likely didn't make use of multi-core CPU's because they didn't care..

Or they made it without multi-core support, claimed IP on the code and then the developers can't change it as they did with the anti-aliasing and Nvidia's vendor-id block...
 
I blogged about Dishonest PhysX last September. I meant to follow this up with a 2nd blog post investigating Batman AA specifically.

Basically put, on the Batma AA demo many of the PhysX effects ran very well on the CPU, you could force advanced effects on the CPU and some areas would crawl to a halt with lots of smoke and cloth, however some areas with less stressful PhysX effects ran easily playable on a quad core CPU. The blog was more to do with developers needing to add more options than "all" or "nothing", since some effects do run well on godo CPUs there should be mid range options. Pretty much the only 2 things you need GPU accelerated PhysX for is cloth and fluid simulation and maybe smoke if fill the entire scene with it.

Furthermore the areas that ran badly only ran about 20-25fps which is almost playable (for some people at least) and checking CPU performance each core was only being used on average about 30-40%, if this was optimised for CPU usage more or less the whole game could have been playable on a decent quad core.

So yeah, this doesn't surprise me, but it's nice to see it exposed as it were, Nvidia need to optimise PhysX to use 100% CPU if they want the API to be taken seriously in the gaming world. But then they don't sell CPUs do they, so they clearly aren't going to - FAIL.
 
It still doesn't settle well, IMO, that the PhysX engine was able to use up to 4 cores (perhaps more?) effortlessly back when it was owned by Ageia yet now that it is property of Nvidia it almost ALWAYS runs on ONLY one core. Coincidence?
 
So yeah, this doesn't surprise me, but it's nice to see it exposed as it were, Nvidia need to optimise PhysX to use 100% CPU if they want the API to be taken seriously in the gaming world. But then they don't sell CPUs do they, so they clearly aren't going to - FAIL.

I also doubt they will ever optimize physX to use 100% CPU. Batman physX kills over 50% of the framerate on GPU. If someone buys an Nvidia card and then discovered that the framerate would be higher if they offload PhysX to CPU, how ridiculous wouldn't the feature look like then? :D

The sad part is that they screw every game owner with this. Most people don't have highend cards and would benefit from using the GPU for rendering and the CPU for PhysX. But, in the name of the almighty marketing, they choose to leave that option out, so more GFX cards can be pushed under the pretense that they "need it" for PhysX effects.
 
It still doesn't settle well, IMO, that the PhysX engine was able to use up to 4 cores (perhaps more?) effortlessly back when it was owned by Ageia yet now that it is property of Nvidia it almost ALWAYS runs on ONLY one core. Coincidence?

I still think that we as gamers would probably be better off if PhysX were still helmed by Ageia too.. sure their PPU would have failed but man that company was all about licensing PhysX technology out, I can't imagine them not making CUDA, OpenCL, Stream and DirectCompute APIs just to charge licensing fees to both devs and hardware manufacturers and it wouldn't be against AMD's business interests to adopt it if it weren't owned by their primary competitor..
 
Last edited:
The problem with this theory is if you dedicate 100% of the CPU resources to running a "fixed" PhysX in Batman, how does the game suffer otherwise? :p Do you fix it by adding a "game" CPU to the system on a dual processor board?

Don't get me wrong, I've been critical of the lame CPU path in PhysX since the Cell Factor pre-release demo (which could work in CPU mode) came out. I even posted CPU utilization graphs showing the CPU wasn't exactly busy during heavy physics sections that slowed framerate to a crawl. But applying a benchmark that uses 100% of resources with a questionable level of GPU optimization to a very different general physics engine isn't apples to apples.

Anyways, this isn't even a new theory. nvidia released many benchmarks of different GPGPU applications when CUDA was introduced and some classifications of problems didn't see massive improvements compared to CPUs. Given that CPUs and new instruction extentions (SSE4) have continued to offer higher performance, it's not surprising that CPUs have overtaken GPGPU in certain tasks.
 
Back
Top