DemoCoder said:
Do you know if Havok is a time-stepper (integrate forces) or an instantaneous force calculator. I don't know much about VU programming, but most physics engines operate on "kernels" which are sparse matrices, that have to be evaluated via some technique (LU decomposition/pivot, Baraff's lagrange technique, etc). The SRAM is the SPEs are big enough and fast enough to hold large sparse matrices. There is little branching that goes on during evaluation.
Collision detection requires alot of dynamic branching, but there's no reason why the integration and solver steps can't be farmed out to SPEs while the collision detection step runs on the PPE.
When your talking about large sparce matrices, your generally talking about constraints. And although I haven't looked at the guts of havok I'd be surprised if it wasn't similar to Barrafs approach.
The hard part in physics (IMO) is not evaluating a time step it's what you do in the case of a discontinuity. If you choose to preserve the interpenetration constraint then you have to back up the simulation (or some part of it) apply your impulses and move it forwards again.
How well you partition your world is key, but there are cases where you can't, because all of the objects are in contact or could be.
The PS3 will probably be very good at physics, it probably depends on what you want to do, modelling a lot of constraints , or having a lot of "independant" objects in close proximity.
You could ignore the interpenetration constraint, but this has it's own set of problems. I believe Havok 3.0 goes this way, to make the performance cost more predictable.
IME people get too bogged down in the cost of the math, outside of vertex calculations it's incredibly hard to get anywhere near peak math performance on any processor. There's always too much messing around with memory and general book keeping and invariably you simply cannot hide all the latencies.
I'd bet that if the SPE's are faster at physics it has more to do with the relatively low latency on chip RAM than it does the extra flops.