Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Maybe it's just my perception, but fewer and fewer games these days seem to be using PhysX.


Everything that is made with Unity or UE4 uses PhysX.

That said, not that many games use the GPU-accelerated parts of it; for a lot of gameplay physics CPU code path of PhysX works just fine and does not have special hardware requirements.


> Everything that is made with Unity or UE4 uses PhysX

That's not true - UE4 games can be (and are) built against other physics engines.


Yeah, I should have clarified: most games using Unity or UE4 are using PhysX, since that's what these two engines are using out of the box.


Most engines can use other physics engines. People have also used other engines in Unity


Yeah the GPU-accelerated part is what I was referring to. Doesn't seem like it makes much of a difference these days.


I think you're really misunderstanding how this works. The CPU handles pretty much all game logic. It needs to know the position of each car, enemy, bullet, whatever, so it can decide how to respond to things, if a car hits a player it does damage. As a result it's impossible to hand off such calculations to the GPU, so all GPU accelerated physics do is trivial visual-only effects like cloth and water physics or pieces of paper blowing in the wind. Basically anyone expecting GPU accelerated physics that has logical relevance such as physics based destructible environments is expecting too much. In other words GPU accelerated game logic physics was never the promise of PhysX. PhysX focused on making physics really easy and great from a software standpoint, and that has been an outstanding success.

The visual-only portion of GPU physics is not really that compelling which is why there isn't huge uptake. There would need to be a revolution in how games work on a fundamental level where basic game logic is calculated on the GPU to make true GPU physics happen. We might see that eventually but not anytime soon.


GPU calculated physics works just fine when results are brought back to the Cpu.

Raycasting for game logic is cpu based as you mention because the game logic itself is on the cpu. Yet solvers and the true heavy lifting does work well on gpu.

Except, and this is the true reason we see little gpu physics, no one has spare gpu room. Thus cpu side physics wins for most games. Outside specific physics focused games giving up graphics for faster physics is not a profitable trade.

I say this as a gamedev myself who has several times made this exact decision.


The biggest problem with GPU physics is that it's a very difficult problem to tackle and you'll run into compatibility issues between the hardware vendors. It'll work on Nvidia hardware and won't work on AMD or vice versa.

Many games do have spare GPU room to spare, but since there are no good GPU-accelerated solutions for physics they don't have much of a choice.


> The biggest problem with GPU physics is that it's a very difficult problem to tackle

This is a completely meaningless statement.

> you'll run into compatibility issues between the hardware vendors

Those compatibility issues already exist in the form of DX or OpenGL drivers, and most games have to face them. Writing a sim in OpenCL would work on both Nvidia and AMD, and even on Integrated GPUs.

> Many games do have spare GPU room to spare

Many smaller games mighy but most big games do not. And those games with GPU room to spare normally have CPU to spare.

>since there are no good GPU-accelerated solutions for physics

There is - PhysX.


>This is a completely meaningless statement.

How is "difficult to implement" a meaningless statement?

>Those compatibility issues already exist in the form of DX or OpenGL drivers, and most games have to face them. Writing a sim in OpenCL would work on both Nvidia and AMD, and even on Integrated GPUs.

With completely different performance characteristics and very difficult to diagnose bugs.

>Many smaller games mighy but most big games do not. And those games with GPU room to spare normally have CPU to spare.

Maybe if you're talking about mainstream AAA single player titles, but many multiplayer titles tend to have CPU limits instead.

>There is - PhysX.

Which only works on nvidia hardware and is thus a useless solution.


That doesn't seem right?

https://docs.nvidia.com/gameworks/content/gameworkslibrary/p...

Says: The GPU rigid body feature provides GPU-accelerated implementations of:

- Broad Phase

- Contact generation

- Shape and body management

- Constraint solver


These are generally only used for the visual effects, you still need these features to make the visual effects look good.


> Broad Phase, Contact generation, Shape and body management, Constraint solver

These are absolutely not only used for the visual effects, they are the fundamentals of a physics engine.


The physics of the visual effect.



I am not familiar with PhysX - must you explicitly program with PhysX against the GPU?


No. Most games use it on the CPU, as the GPU accelerated implementation is currently only available on Nvidia cards




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: