ViRGE
Elite Member, Moderator Emeritus
- Oct 9, 1999
- 31,516
- 167
- 106
Actually there's a very important secondary reason, and it has nothing to do with computational performance: API overhead. Whenever you do debris calculations on the CPU, all of that stuff has to be setup as objects and submitted to the GPU, which has a fairly high overhead. With PhysX, most (if not all) of that is done as a second-order calculation on the GPU; the CPU never knows about the individual objects and never has to deal with them. This is why doing all those debris calculations on the GPU is so fast, because it's a bunch of tiny objects that get to skip the submission process. If the CPU had to be involved in any way (e.g. this was first-order physics and had to be sent back), it would be much slower even with the higher computational performance of a GPU.Thats like comparing apples to oranges in a way. How can you say CPU implementations "do it better," when there are currently NO CPU implementations that do real time physics ONLY like hardware PhysX?
And there's a good reason for this. There is a very large to humongous performance delta between CPUs and GPUs in parallel computing performance.
And that's actually a very interesting point. iGPUs have relatively low performance, but the interconnect between the iGPU and CPU are massively superior in terms of latency, bandwidth, and use of shared resources. I'm not sure if anyone in the public has studied it (I'm sure AMD has), but perhaps the limiting factor right now is not dGPU computational performance, but dGPU interconnects?I think it makes more sense to leverage the embedded GPUs now shipping with more and more CPUs from Intel and AMD. In a few years so many people are going to have that GPU in their rig (whether they go with a dedicated card or not) that the install base will likely be much higher than the dual card users.
Last edited: