I have no doubt that physics computation would benefit greatly from parallel calculations. However, I do not see this happening any time soon. For physics to matter in a game it has to be the baseline of the game, otherwise it can't have any impact on the gameplay. Thus it requires the minimum specs to greatly jump. It also requires either the far and away vast majority to have a gpu capable of harware acceleration.. or the cpu to be able to demonstrate the same physics, though perhaps slower. We can already use the cpu to do the physics.. but for whatever reason nvidia and the like choose to nly allow the advanced effects while hardware acceleration is on.
Additionally, I have never seen any proof that the CPU can not keep up. This was my point. If the cpu chugs along at 5fps becasue of physX, yet the same effects on the gpu can be run at 40fps I really would like to know.. Does running the physics on the CPU simply increase any bottleneck you might have, or is teh cpu fundamentally flawed at the computation.
Rendering is different. With rendering you get what ammounts to rediculously simple calculations done a few thousand(million) times, over and over. Thus it would be silly to have a complicated few core computer to calculate it. With physics, I can envision approximatinos that may be rediculously simple to compute.. but once you add more than two particles, more than 1 force, and so on the complexity increases exponentially. It couldn't be done effectively on todays GPU's, least I don't think it could. Once the complexity, among other things, is there for a gpu, I really feel that a CPU will have changed enough that the distinction between "what is better" will be lost.
Something as simple as a cloud of particles, each with a position and velocity, would obviusly be best on a massive number of simple cores. But what if we apply charge to these particles? Even adding something as simple as newtonian gravity would increase the complexity impressively. At some point the API would not be able to run well on parallel cores. We need something with the freedom to run complex tasks on a fast complicated core, and the simple approximations of particular movement on a GPU like core. Something that has teh freedom to use whatever resources are there.. without totally hogging either. Frankly, we need more powerful computers, more dedicated software folks, and the bottom to entirely drop off the average joe's computer. I can;t see physics in a game that really matter to teh gameplay until the minimum specs of a game call for an advanced multi gpu configuration, a very fast quad core cpu, and loads of RAM on a 64bit OS.
I don't want us to fight about what acceleration is better.. cpu or GPU. I want someone to make a game using an advanced physics API and show everyone how much it changes games. Perhaps even show everyone how useless our CPU's are at computing particle approximations of solids. People seem to forget that CPU's and the OS as well, are advancingl. By the end of next year we will have a CPU with 8 physical cores, 16 effective. That is approaching he number of cores an Aegia card had. It woul not surprise me in the least if the lines between a GPU and CPU to infact start to grey.