[ODE] Some SSE in Quick step
GARY VANSICKLE
g.r.vansickle at worldnet.att.net
Thu May 27 23:22:26 MST 2004
> GARY VANSICKLE wrote:
> > ..and then you spend the rest of your life explaining to customers why
> the
> > binary compiled with 3DNOW! doesn't work on an PIII. It has to be a
> > run-time thing or it'd cause more trouble than it's worth.
> Tho, like Pierre Terdiman already said, there's little to be gained from
> such fine grained operations if you don't play nice with the compiler
> (inlining).
>
AFAIK, nobody's actually ever verified that D3DX's mathematical
manipulations are slower than ODE's built-in. Which is part of why a
referred to this as a "non-argument".
> Then there's no need to do some jumptable chachacha à la DirectX when
> you're dynamically linking Ode: link against the proper dll (ie
> ode-sse2.dll) at run time.
As a wise man once sang, "We'd all love to see the plan" ;-). I'm guessing
D3DX does at least as well as that. It's certainly not doing anything like:
If(SSE2)
{
SSE2MatrixMultiply();
}
Else if(SSE)
{
SSEMatrixMultiply();
}
Else if...
if that's what you're getting at.
> That just require some rather thin per platform gluing.
>
And a huge number of DLL's/.so's, which will need to keep growing on an
almost monthly basis as new processors come out with new features. I say
let Bill do it; he already is anyway.
> If you're linking statically then it's your problem.
>
Of course, which is why I see compiled-in SSE instructions to be of limited
use. All the "pain" of macroizing things so that you can still build for
non-SSE platforms, plus all the real pain of binaries that work on exactly
one version of processor.
--
Gary R. Van Sickle
More information about the ODE
mailing list