No PhysX on OpenCL soon

neliz

GIGABYTE Man
Veteran
http://physxinfo.com/news/966/nvidi...upport-opencl-or-directcompute-any-time-soon/

#1 – How do you expect PhysX to compete in a DirectX 11/OpenCL world?

By Tom Petersen, Director of Technical Marketing: PhysX does not compete with OpenCL or DX11’s DirectCompute.

PhysX is an API and runtime that allows games and game engines to model the physics in a game. Think of PhysX as a layer above OpenCL or DirectCompute, which in contrast are very generic and low level interfaces that enable GPU-accelerated computation. Game developers don’t create content in OpenCL or DirectCompute. Instead they author in toolsets (some of which are provided by NVIDIA) that allow them to be creative quickly. Once they have good content they “compile” a specific platform (PC, Wii, Xbox, PS3, etc) using another tool flow.

During this process game studios have three basic concerns:

1. Does PhysX make it easier to develop games for all platforms – including consoles?

2. Does PhysX make it easier to have kick ass effects in my game?

3. Will NVIDIA support my efforts to integrate this technology?

And the answer to the three questions above is: yes, yes, and yes. We are spending our time and money pursuing those goals to support developers, and right now the developer community is not telling us that OpenCL or DirectCompute support are required.

At the end of the day, the success of PhysX as a technology will depend on how easy it is for game designers to use and how incredible the game effects are that they create. Batman: Arkham Asylum is a good example of the type of effects we can achieve with PhysX running on NVIDIA GPUs, and we are working to make the next round of games even more compelling. At this time, NVIDIA has no plan to move from CUDA to either OpenCL or DirectCompute as the implementation engine for GPU acceleration. Instead we are working to support developers and implement killer effects.

#2 – Will PhysX become open-source?

Tom Petersen: NVIDIA is investing a lot of time and effort in PhysX and we do not plan to make it open source today. Of course the binaries for the SDK are distributed for free, and source code is available for licensing if game designers need it.

Looks like they insist on proprietary eh? (3dfx management takes over! : lol: )
 
Last edited by a moderator:
It makes sense to differentiate your products but it looks like they have some more convincing to do. Apparently they approached Oleg Maddox to get PhysX into SOW but he turned them down due to it being proprietary. Not sure what benefit PhysX would be there anyway. He's seems more open to 3D stereo.

http://forum.1cpublishing.eu/showpost.php?p=115231&postcount=376

Hardware manufacturers asking us, but we wont at the moment untill all will be as a standard. Too much time development for doubtful advantage and unclear future for some of these technologies.

NVIDIA in direct contact with us. Currently they want us implement the separate support of CUDA. However its not a time when we may spend additional great time to work with it even it is possible. But we are in constant contact and they never told me about new steroscopic item.
Anyway any implementation of such things as steroscopic should go only when everything is clear and we may spend additional time. Maybe even after release. Because I'm sure there will be add-ons. Not like in the past, but will be. Something will be free. Something - not. The project is too much time and money engrossing due to its complexity.
 
If they insist on keeping it an Nvidia-only feature (with a piss-poor CPU implementation) then I hope it dies very soon and gets kicked out of the market by Havok.
 
"1. Does PhysX make it easier to develop games for all platforms – including consoles?"

"And the answer to the three questions above is: yes, yes, and yes. "

How can that be so? 2 of the 3 consoles use ati cpu's
 
Is that based on actual knowledge of PhysX performance on consoles or just repeating what you've heard?
 
There's no problem with PhysX on above PPC machines. It only becomes "poor" on certain PC games because the most common command there seems to be NOP.
 
well it is based on a bit of knowledge (not discovered by me) some people have profiled it and discovered it doesn't use any of the newer cpu instructions and is single threaded on the cpu.

@sxotty yes I meant gpu's not cpu's
 
AFAIK, PhysX on consoles supports just basic feature set, because it runs on CPUs, and of course there are no GPUs that are fully PhysX compliant.

From the FAQ:
Q What is PhysX?
:: A There are two interpretation of this term:
- PhysX (PhysX SDK) is multi-platform, full featured, free to use physics middleware, used in more then 150 released game titles. Some features (to be precise - cloth, softbody, particles - not entire engine) were rewritten using CUDA language, that allows acceleration of those features on Nvidia's GPU. CPU component of the engine support both AMD/Intel CPU's and major console platforms (Xbox 360, PS3, Wii)

:: Q I've heard about PhysX on consoles - how is it possible ?
:: A Standalone console versions of PhysX SDK have nothing to do with GPU PhysX, and are optimized for target platforms. (Cell, Power PC, etc)
Of course, you can not achieve same speed/features on Wii as on PC. PhysX on iPhone/iPod is possible via Unity game engine.

PhysX has basically been from the start on the PS3:
http://www.scei.co.jp/corporate/release/pdf/050721be.pdf

The license deal from march simply allows developers to get the PhysX SDK for free along with the PS3 SDK. But what happened before march, if someone wanted to use PhysX in their games?

because the most common command there seems to be NOP.

:LOL:
 
Last edited by a moderator:
AFAIK, PhysX on consoles supports just basic feature set, because it runs on CPUs, and of course there are no GPUs that are fully PhysX compliant.

Yes, but the point isn't whether PhysX on consoles can match up to PhysX on GPUs. It's whether it can match up to other physics libraries on consoles. The way people talk about it being unoptimized crap you would think that its CPU bound competition was far better. If that was the case why would anybody be using PhysX at all?
 
Yes, but the point isn't whether PhysX on consoles can match up to PhysX on GPUs. It's whether it can match up to other physics libraries on consoles. The way people talk about it being unoptimized crap you would think that its CPU bound competition was far better. If that was the case why would anybody be using PhysX at all?

Many people will opt to use a lesser performing less feature rich SDK if it's free (PhysX). While others are willing to pay for a more feature rich, better performang library (Havok/whatever else).

I mean there's obviously a reason someone like Blizzard will opt for Havok even though they have to pay to use it over PhysX. As well numerous other devs...

Regards,
SB
 
Do you have evidence that PhysX is lesser performing and less feature rich besides the fact that Blizzard chose Havok? You just threw in those assumptions with no supporting info at all. I know publishers are supposed to be corrupt and evil but would EA and Take 2 really adopt PhysX to save a few bucks on a Havok license?
 
Do you have evidence that PhysX is lesser performing and less feature rich besides the fact that Blizzard chose Havok?

If it is not the lesser performer why do KZ2 and Uncharted2 use Havok? Both are PS3 exclusives after all and you mentioned PhysX is included in the PS3 SDK for free.

Could be a variety of reasons. Maybe the Havok API is easier to work with, maybe PhysX's performance is worse or maybe a combination of both. I see plenty of Havok logos on the back cover of PS3 games but I don't remember having ever seen a PhysX one. I'd figure Nvidia would try to get some exposure if it was used in many games.
 
If that was the case why would anybody be using PhysX at all?

Because nvidia is offering/forcing it to developers (as I see in your post from 1c publishing, "Currently they want us implement the separate support of CUDA.")
I have no way of guessing how many FTE's nvidia offers but I reckon this would come up as a couple of grand post.

Yes, but the point isn't whether PhysX on consoles can match up to PhysX on GPUs. It's whether it can match up to other physics libraries on consoles. The way people talk about it being unoptimized crap you would think that its CPU bound competition was far better.

When I asked Brian Burke when/if nvidia would optimize their CPU code, he said it was not their(nvidia's) job.

Now you'd think that since they own it, they would actually do work on it instead of platforms (CUDA only!) they want to work on. Whatever evidence is left of "bad code" on PhysX is available in B:AA forcing a five fold amount of PhysX work on the CPU with no discernible quality loss versus the base setting when it becomes enabled.
 
Is there a "tickbox" list of ALL physics APIs and their features, as well the perfomance comparison? I would definitely like to see some extensive analysis on that.
I suppose that at the base CPU level, they can do pretty much the same stuff?

Also, is there a complete list of console games and their physics middlewares they are using?

AFAIK,
Euphoria - GTAIV, SW:FU, PES2010, Max Payne 3, Red Dead Redemption. Backbreaker in the works.
DMM and Bullet and - some parts of it in GTAIV, Trials HD, Free Realms
Havok - http://www.havok.com/index.php?page=available-games
ODE

If that was the case why would anybody be using PhysX at all?

As others pointed out, maybe because it comes free with the SDKs? Bullet is open source. I don't know about the others' price/business models, though.
 
Last edited by a moderator:
Do you have evidence that PhysX is lesser performing and less feature rich besides the fact that Blizzard chose Havok? You just threw in those assumptions with no supporting info at all. I know publishers are supposed to be corrupt and evil but would EA and Take 2 really adopt PhysX to save a few bucks on a Havok license?

Who said anything about corrupt and evil? Morality has nothing to do with budget concerns.

I'm sure that a free physics library is pretty tempting as it frees cash that could potentially be put into other areas, or possibly to allow a game to be developed on budget.

Obviously there are things Havok must provide that PhysX doesn't otherwise there would be zero reason to use it over a free alternative. Which speaks volumes if you provide it for free, yet still try to tie/give incentives to TWIMTBP partners to get them to use it over the competition. And it has to say something that people would rather pay for something else than use a free alternative.

Regards,
SB
 
If it is not the lesser performer why do KZ2 and Uncharted2 use Havok? Both are PS3 exclusives after all and you mentioned PhysX is included in the PS3 SDK for free.

SB mentioned that, not me. The only info I could find on that arrangement is that Nvidia and Sony brokered a deal to provide PhysX to all PS3 developers. I don't know the terms of that deal.

Could be a variety of reasons. Maybe the Havok API is easier to work with, maybe PhysX's performance is worse or maybe a combination of both. I see plenty of Havok logos on the back cover of PS3 games but I don't remember having ever seen a PhysX one. I'd figure Nvidia would try to get some exposure if it was used in many games.

Exactly, there could be a variety of reasons. The claim that PhysX is somehow inferior because it's (presumably) cheaper yet doesn't have 100% of the market is pretty ridiculous. It could be something as simple as devs having prior experience with Havok and its toolset. Havok is the incumbent after all.

m.fox said:
Is there a "tickbox" list of ALL physics APIs and their features, as well the perfomance comparison? I would definitely like to see some extensive analysis on that.
I suppose that at the base CPU level, they can do pretty much the same stuff?

Same here. I don't know how easy such a comparison would be but I certainly haven't heard anything from developers indicating any one solution is technically superior to another. Everything has been guesswork and random assumptions.
 
Yes, but the point isn't whether PhysX on consoles can match up to PhysX on GPUs. It's whether it can match up to other physics libraries on consoles. The way people talk about it being unoptimized crap you would think that its CPU bound competition was far better. If that was the case why would anybody be using PhysX at all?

Thing is, PhysX is optimized for each platform. On Xbox360 it takes advantage of up to 3 dual threaded cores with Vector units, on PS3 it uses PPC as well as SPE's to calculate effects, but on PC it chooses to not use SSE2,3,... or more than 1 CPU core, because it can use GPU :rolleyes:

So yes, PhysX is not bad on consoles performance wise and it would not be bad on PC if it would took advantage of multi core CPU's instead of concentrating only on nVidia GPU's.
But I understand from where this decision is coming and therefore I think this API will fail sooner or later.
 
Back
Top