Quote:
Original post by Saruman
Not at all, I ran the software version on a very powerful CPU and Aegia is very well known having one of the fastest Physics engines on the market in software as well... if not the fastest now with dual-core becoming commonplace.
Well I checked something and got shocking results...
I used AMD CodeAnalyst to profile NovodeX Rocket during the 'Seige 2' demo. It's a cool demo in my opinion and runs at 60 FPS on a Geforce 6600 (non-GT) and Athlon 64 X2 4400+ @ 2.4 GHz. So I expected it to be physics limited but it turned out that 60% of time was spend in the graphics driver and kernel, and only 30% in the NovodeX DLL. Of this 30%, half was spent in one function: NxBuildSmoothNormals. But the most shocking thing of all was that it didn't use a single SSE instruction, only x87!
Now, I don't know how old the Rocket demo is exactly and how things have evolved in the last months but clearly I haven't seen a fraction of what is actually possible on a CPU.
Quote:
I compiled it myself and ran it, nothing at all was crippled or changed it was exactly the same.
So did you get a chance to see if it was it fully SSE optimized? If you did, do they use the uber fast approximation instructions for division and square root or the full precision ones?
Quote:
Why can't you render a game completely in software on the CPU instead of using a midrange GPU? Dedicated hardware is much faster at processing than a general purpose processor as has been echoed throughout the thread.
Yes we've been through this and I believe you missed my answer or I wasn't clear enough. GPUs are much faster at graphics mainly because they have rasterization units (computing coverage masks and interpolating coordinates) and texture samplers that work fully pipelined and in parallel. But when I wrote swShader it quickly became clear that CPUs are actually surprisingly fast for the arithmetic shader instructions. Rasterization and texture sampling takes the bulk of execution time while making the shader longer (without extra textures) didn't have that much of an impact. And this is logical, a CPU's GFLOPS are almost directly comparable to a GPU's GFLOPS for arithmetic shader instructions. Obviously the current generation of GPUs has significantly more GFLOPS than any CPU but it's still very roughly comparable while other operations like sampling take ages for the CPU.
So, to repeat my original question: Why is it that in AGEIA's PhsyX demos the software version doesn't even get close to the PhysX version? And to clarify that with the above: It should be mostly SIMD operations, for which modern CPUs are not to be underestimated.
Quote:
What I saw was a game in development and not a demo at all, it was a full networked multiplayer FPS in development using PhysX software and hardware.
Fair enough. Can I ask what kind of revolutionary physics this game used? I'm mostly interested to know whether it was 'eye-candy' physics we could do without or 'gameplay' physics that is crucial and absolutely requires high processing power. Also, was this physics workload present all of the time or only periodically? Thanks.