Cross-platform Next-gen game speculation

OMG Rockz are the NEW FLOPS!!!11!1!ONE

XB360 boost 12,000 Rocks :)
PS3 can manage 21,000 Rocks! :D

*** STOP PRESS ***

Nintendo Revolution gets HARDWARE ROCK ACCELERATION UNIT!!! (RAU)
600,000 RRROOOOXXXXXX!!!! :oops: :oops: :oops:
 
one said:
shaderguy said:
  • PS3: Eye-candy physics that doesn't affect gameplay. e.g. better cloth simulation.
Novodex and Havok support PS3. It means they utilize SPE instead of programmers. The result? 6,000 rocks rolling down a hill instead of 600 rocks.

Physics is more than just FP work.
You should benchmark Havok on an Xbox and a PS2, the latter has more fp power, buth the former runs the simulation MUCH faster.
 
Is Havok really optimized for PS/2 tho? It started life on PC. The choice of integration and solver algorithms makes a big difference. Integration/Solving steps of Physics are clearly stream oriented. There are so many things that could be wrong with Havok. Bad VU code, too many stalls. Wrong algorithm, etc.
 
We were discussing it recently at work, the feeling is it's by far the fastest general collision system any of us have ever seen on PS2.

I've seen faster collision mechanism's, but not that deal with polygon soup.

They do a good job of partitioning the world and allowing for parallelism, they use VU0 for most of the math, there's just a lot of walking of none cache friendly datastructures.

For point of reference the XBox CPU is between 2 and 4x faster running havok in our game.

Even in contrived demos like a freefalling ragdoll Xbox wins by a significant margin.


My experience with middleware in genreal (physics, graphics, sound you name it) is that "optimised" is a somewhat misused term. Having the fastest solution is not what determines the most saleable middleware, having the most flexible and extensible generally comes at a significant cost.
 
ERP said:
one said:
shaderguy said:
  • PS3: Eye-candy physics that doesn't affect gameplay. e.g. better cloth simulation.
Novodex and Havok support PS3. It means they utilize SPE instead of programmers. The result? 6,000 rocks rolling down a hill instead of 600 rocks.

Physics is more than just FP work.
You should benchmark Havok on an Xbox and a PS2, the latter has more fp power, buth the former runs the simulation MUCH faster.
Where did I mention FP?
I just mentioned what you get from Cell without utilizing SPE and what you get from CELL by utilizing SPE.
 
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.
 
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.
 
I believe ODE claims that they can solve discontinuities without backtracking the simulation. But I have not read enough to see how they claim to do it.
 
Back
Top