Jump to content
Dante Unbound: Share Bug Reports and Feedback Here! ×

Warframe Cloth Physics


ikitclaw
 Share

Recommended Posts

Yeah but we are talking about PC version -> on PC DE and NV disabled their PhysX if there is no nv gpu detected.

Dunno about you, but my syndanas and sugatras still flow behind me with physics goodness.

 

I don't ever recall that DE stating that clothing physics was an actual physx effect (it's not), only the particles that flow from abilities and such.

 

Physics is not the same as Physx.

Link to comment
Share on other sites

Dunno about you, but my syndanas and sugatras still flow behind me with physics goodness.

 

I don't ever recall that DE stating that clothing physics was an actual physx effect (it's not), only the particles that flow from abilities and such.

 

Physics is not the same as Physx.

Currently they are using old system -> but they plan on upgrading it to physx cloth physics. I think it was DE Drice that made that statement not too long ago.

"Just to provide a bit more information, we're investigating Apex Cloth systems for both Warframes and Syandanas simultaneously. It will take a while to optimize multiple Apex Cloth components on a single entity, and we'll need to support this on PS4 as well. I can't give you a time frame, but I dare say that as we come closer to the final implementation, we'll be able to show you more of the progress made in the Live Streams."

Link to comment
Share on other sites

apex cloth isn't hardware limited, it has an entire CPU based backend and can (and will) run fine on amd based systems.

Tell that to DE and maybe NV. (ps. PhysX can be run on CPU too)

Edited by CyklonDX
Link to comment
Share on other sites

Currently they are using old system -> but they plan on upgrading it to physx cloth physics. I think it was DE Drice that made that statement not too long ago.

"Just to provide a bit more information, we're investigating Apex Cloth systems for both Warframes and Syandanas simultaneously. It will take a while to optimize multiple Apex Cloth components on a single entity, and we'll need to support this on PS4 as well. I can't give you a time frame, but I dare say that as we come closer to the final implementation, we'll be able to show you more of the progress made in the Live Streams."

If you do a bit of research you will see that Apex clothing is available to all three platforms, and is run on the CPU. Not GPU dependent at all.

Tell that to DE and maybe NV. (ps. PhysX can be run on CPU too)

Here's the thing. Only certain parts of physx can be run on the CPU. Many games use physx for their normal physics engine, like Borderlands 2, which runs on AMD cards just fine. There are specific nvidia GPU only effects that the physx engine offers. SO what you have here is a general physics engine that can run on the CPU on all platforms and is used in many games, that also includes Nvidia exclusive effects. Many people equate physx with just the nvidia exclusive effects and are misinformed on the issue. In warframe the only exclusive effects are the ability particles.
 
So while yes you are correct that Physx runs on the CPU, that doesn't mean DE can actually enable the particle effects for AMD gpus since those specific effects are locked to Nvidia. Those specific effects are nvidia only, while the rest of physx is multiplatform.
Edited by Ashnal
Link to comment
Share on other sites

If you do a bit of research you will see that Apex clothing is available to all three platforms, and is run on the CPU. Not GPU dependent at all.

Here's the thing. Only certain parts of physx can be run on the CPU. Many games use physx for their normal physics engine, like Borderlands 2, which runs on AMD cards just fine. There are specific nvidia GPU only effects that the physx engine offers. SO what you have here is a general physics engine that can run on the CPU on all platforms and is used in many games, that also includes Nvidia exclusive effects. Many people equate physx with just the nvidia exclusive effects and are misinformed on the issue. In warframe the only exclusive effects are the ability particles.

 

So while yes you are correct that Physx runs on the CPU, that doesn't mean DE can actually enable the particle effects for AMD gpus since those specific effects are locked to Nvidia. Those specific effects are nvidia only, while the rest of physx is multiplatform.

Everything can be ran on CPU; since whole PhysX API was written for cpu not nv gpu. Going back AGEIA cards (which were nice) so no - physx, apex and all crap can be ran on anything thats strong enough (today pretty much any better cpu)This includes all exclusive effects.

Few logs from warframe:

Notice its hashing Apex and PhysX drivers and dll's and then shutting it down - back in days you could force him turn on the physX (which would be disabled at start) and it would state successful initialization of physx and apex driver. Option from EE.cfg was removed.

Found D3D11 adapter 0: AMD Radeon HD 7900 Series (D3D_FEATURE_LEVEL_11_0)

Finished DirectX (0.2 seconds)

Hashing G:\warframe\Downloaded\Public\CachePlan.txt...

Hashing G:\warframe\Downloaded\Public\Tools\Apex\x64\APEX_BasicFS_x64.dll...

Hashing G:\warframe\Downloaded\Public\Tools\Apex\x64\APEX_BasicIOS_x64.dll...

Hashing G:\warframe\Downloaded\Public\Tools\Apex\x64\APEX_ClothingGPU_x64.dll...

Hashing G:\warframe\Downloaded\Public\Tools\Apex\x64\APEX_Clothing_x64.dll...

Hashing G:\warframe\Downloaded\Public\Tools\Apex\x64\APEX_Emitter_x64.dll...

Hashing G:\warframe\Downloaded\Public\Tools\Apex\x64\APEX_FieldSampler_x64.dll...

Hashing G:\warframe\Downloaded\Public\Tools\Apex\x64\APEX_IOFX_x64.dll...

Hashing G:\warframe\Downloaded\Public\Tools\Apex\x64\APEX_ParticleIOS_x64.dll...

Hashing G:\warframe\Downloaded\Public\Tools\Apex\x64\APEX_TurbulenceFS_x64.dll...

Hashing G:\warframe\Downloaded\Public\Tools\Apex\x64\ApexFramework_x64.dll...

Hashing G:\warframe\Downloaded\Public\Tools\JiraClient.exe...

Hashing G:\warframe\Downloaded\Public\Tools\PhysX\x64\PhysX3CharacterKinematic_x64.dll...

Hashing G:\warframe\Downloaded\Public\Tools\PhysX\x64\PhysX3Common_x64.dll...

Hashing G:\warframe\Downloaded\Public\Tools\PhysX\x64\PhysX3Cooking_x64.dll...

Hashing G:\warframe\Downloaded\Public\Tools\PhysX\x64\PhysX3Gpu_x64.dll...

Hashing G:\warframe\Downloaded\Public\Tools\PhysX\x64\PhysX3_x64.dll...

~

(LUL)

0.040 Sys [info]: XBONE caching disabled

(LUL)

~

1.312 Phys [info]: Custom physx allocator in use

1.314 Gfx [info]: PhysX Core Version: 3.2.4.1

1.314 Phys [info]: PhysX scene manager initialized.

1.324 Phys [info]: APEX scene manager initialization took 0.0101449sec

~

~

1.815 Gfx [info]: Found D3D11 adapter 0: AMD Radeon HD 7900 Series (D3D_FEATURE_LEVEL_11_0)

1.906 Gfx [info]: Using D3D11 adapter 0: AMD Radeon HD 7900 Series VendorId: 0x1002 DeviceId: 0x6798 SubSysId: 0x04421043 Revision: 0

1.906 Gfx [info]: Adapter has 6085MB of dedicated video memory, 0MB of dedicated system memory, and 7910MB of shared system memory

1.907 Sys [info]: NVIDIA hardware not found disabling APEX

~

Pretty much it.

Link to comment
Share on other sites

Everything can be ran on CPU; since whole PhysX API was written for cpu not nv gpu. Going back AGEIA cards (which were nice) so no - physx, apex and all crap can be ran on anything thats strong enough (today pretty much any better cpu)This includes all exclusive effects.

Few logs from warframe:

Notice its hashing Apex and PhysX drivers and dll's and then shutting it down - back in days you could force him turn on the physX (which would be disabled at start) and it would state successful initialization of physx and apex driver. Option from EE.cfg was removed.

Found D3D11 adapter 0: AMD Radeon HD 7900 Series (D3D_FEATURE_LEVEL_11_0)

Finished DirectX (0.2 seconds)

Hashing G:\warframe\Downloaded\Public\CachePlan.txt...

Hashing G:\warframe\Downloaded\Public\Tools\Apex\x64\APEX_BasicFS_x64.dll...

Hashing G:\warframe\Downloaded\Public\Tools\Apex\x64\APEX_BasicIOS_x64.dll...

Hashing G:\warframe\Downloaded\Public\Tools\Apex\x64\APEX_ClothingGPU_x64.dll...

Hashing G:\warframe\Downloaded\Public\Tools\Apex\x64\APEX_Clothing_x64.dll...

Hashing G:\warframe\Downloaded\Public\Tools\Apex\x64\APEX_Emitter_x64.dll...

Hashing G:\warframe\Downloaded\Public\Tools\Apex\x64\APEX_FieldSampler_x64.dll...

Hashing G:\warframe\Downloaded\Public\Tools\Apex\x64\APEX_IOFX_x64.dll...

Hashing G:\warframe\Downloaded\Public\Tools\Apex\x64\APEX_ParticleIOS_x64.dll...

Hashing G:\warframe\Downloaded\Public\Tools\Apex\x64\APEX_TurbulenceFS_x64.dll...

Hashing G:\warframe\Downloaded\Public\Tools\Apex\x64\ApexFramework_x64.dll...

Hashing G:\warframe\Downloaded\Public\Tools\JiraClient.exe...

Hashing G:\warframe\Downloaded\Public\Tools\PhysX\x64\PhysX3CharacterKinematic_x64.dll...

Hashing G:\warframe\Downloaded\Public\Tools\PhysX\x64\PhysX3Common_x64.dll...

Hashing G:\warframe\Downloaded\Public\Tools\PhysX\x64\PhysX3Cooking_x64.dll...

Hashing G:\warframe\Downloaded\Public\Tools\PhysX\x64\PhysX3Gpu_x64.dll...

Hashing G:\warframe\Downloaded\Public\Tools\PhysX\x64\PhysX3_x64.dll...

~

(LUL)

0.040 Sys [info]: XBONE caching disabled

(LUL)

~

1.312 Phys [info]: Custom physx allocator in use

1.314 Gfx [info]: PhysX Core Version: 3.2.4.1

1.314 Phys [info]: PhysX scene manager initialized.

1.324 Phys [info]: APEX scene manager initialization took 0.0101449sec

~

~

1.815 Gfx [info]: Found D3D11 adapter 0: AMD Radeon HD 7900 Series (D3D_FEATURE_LEVEL_11_0)

1.906 Gfx [info]: Using D3D11 adapter 0: AMD Radeon HD 7900 Series VendorId: 0x1002 DeviceId: 0x6798 SubSysId: 0x04421043 Revision: 0

1.906 Gfx [info]: Adapter has 6085MB of dedicated video memory, 0MB of dedicated system memory, and 7910MB of shared system memory

1.907 Sys [info]: NVIDIA hardware not found disabling APEX

~

Pretty much it.

I thought the physx API was originally written for the Ageia Physx PPU card? For the reason that your typical CPU doesn't have the same floating point calculating power that that PPU (or today's GPUs) have.

 

Doing a bit of research I did find that things like APEX clothing, APEX Destruction, etc. are all supported on PC (CPU/GPU) PS4 and XBONE.

However the one thing that stands out is that  APEX Turbulence (that deals with the ability particles in Warframe) is only supported on GPU. It's due to the number crunching power that particular module needs that most CPUs don't have. I think it's more of a technical barrier than political one, especially since Nvidia released all the other modules for CPU and console compatibility.

 

The log doesn't really prove anything other than the fact that the game initializes APEX to check compatibility then enables/disables appropriately. Initializing a driver doesn't mean it can automatically run on whatever hardware.

Link to comment
Share on other sites

I thought the physx API was originally written for the Ageia Physx PPU card? For the reason that your typical CPU doesn't have the same floating point calculating power that that PPU (or today's GPUs) have.

 

Doing a bit of research I did find that things like APEX clothing, APEX Destruction, etc. are all supported on PC (CPU/GPU) PS4 and XBONE.

However the one thing that stands out is that  APEX Turbulence (that deals with the ability particles in Warframe) is only supported on GPU. It's due to the number crunching power that particular module needs that most CPUs don't have. I think it's more of a technical barrier than political one, especially since Nvidia released all the other modules for CPU and console compatibility.

 

The log doesn't really prove anything other than the fact that the game initializes APEX to check compatibility then enables/disables appropriately. Initializing a driver doesn't mean it can automatically run on whatever hardware.

Actually it does load apex and physX - if you it couldn't it would fail there (1.314 log time).

All calculation can be ported to OpenCL and then amd card or any other opencl device,

but either way again and once again nv is bullS#&$ting cpu's can't take it. They can; and also it can be ran on other gpu's.

Link to comment
Share on other sites

Actually it does load apex and physX - if you it couldn't it would fail there (1.314 log time).

All calculation can be ported to OpenCL and then amd card or any other opencl device,

but either way again and once again nv is bullS#&$ting cpu's can't take it. They can; and also it can be ran on other gpu's.

That's what I said tough ... the game does load the driver. Loading the library into memory doesn't automatically meant that it can actually perform all of it's functions. Just because the game engine loads it off the HDD and into memory and initializes it doesn't necessarily mean that all of its functions can be used. A log entry stating that it's initialized doesn't mean that it is compatible. You're assuming a lot here.

 

As for openCL. I'm sure it could be rewritten in openCL. The fact is though that it isn't. Tell me, would you put in a bunch of work for a product that doesn't benefit you in any way? Nvidia would have to pay for all those man-hours and get almost no return on investment. So while it would be nice for the consumer to get those effects on non-Nvidia cards, Nvidia wouldn't profit from doing so, therefore it is unlikely it will ever happen.

 

As for the bullS#&$ting, there's some give and take. CPUs CAN run the functions. The problem is most consumer CPUs can't perform the precision calculations fast enough to achieve acceptable performance. Do some research and you'll find that GPUs are actually much more efficient at doing the types of precision mathematical calculations needed for physics simulation than CPUs are. The data supports their claims.

 

In summary, this particular physx module is written for a specific GPU architecture to take advantage of Paralleled precision calculations that a CPU would be much slower at performing. It wouldn't benefit Nvidia to port over the code to other GPUs, and allowing it to run on CPUs would result in a lot of people complaining about S#&$ performance.

Link to comment
Share on other sites

First let me, let you know that what you are writing is correct to a point - but this was problem in times of GTX 200's and hd4800 - its not a problem anymore... cpu's can handle it - it will drop 20-30fps - thats correct but with CF7970 you'll be getting stable 144FPS through out the game. NV is faster thats true - much faster - but we don't need it.

With i7 2700k and CF7970's you would get big load on cpu and it would slow you down because cpu/fsb isn't up to task to feed gpu's. Still in WF you would get around 40-80FPS with PhysX on. (a big drop in performance but acceptable not that some people would prefer to turn it off anyway to get stable 144+fps)

Well lets walk back at the required performance and hit on gpu for those effects

Comparing NV GK104 760GTX vs (middle not best) i7 Haswell

GFLOPS Single - Dual

Single Dual

2258 94.1

177 46

PhysX Apex on SDK (High) on CPU / PhysX Scaling

AVG of 22FPS on all available demos

(Very old)

PhysX (Old cpu load on PhysX SDK - you can run all of the effects on cpu without nv card)

Batman-PhysX-CPU-ThreadingB.jpg

Actual Cost of High PhysX Apex *SDK is around 20-800 GFLOPs (Single) -

*more is required if there's more effects stacked together - but from sandy bridge cpu's they can use AVX - rendering it much faster than befoe + 80% of performance making it better than nv or amd gpu at this moment if applied to API *

In SDK - and mostl likely in nv driver there's limitation based on gpu how much can it use

in 480's it was half of load.

This is required to not feel drop in fps due to cpu not being able to feed the gpu in time with new work.

This is gpu-cpu overhead this might be solved with DX12 or Mantle on slower cpu's.

(bigger cache solves issues like this on Xeon cpu's)

IF ran on OpenCL Radeon cards would gain big time.

GFlops Single - Dual (1st 7850, 2nd 780GTX)

Single Dual

1761.28 110.08

5046 210

------------------------

(290x)

5632 704

------------------------

They will not port PhysX Apex API onto OpenCL because they will loose market (obvious)

16-Luxmark.png

ps. Everyone knows it will slow down the game - but no-one wants to remember that it will still be playable if you have better hardware - and customer/gamer might want to have it off anyway or actually buy geforce card...

Edited by CyklonDX
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...