[ODE] More speed???
Oles V. Shishkovtsov
oles at gsc-game.kiev.ua
Mon Nov 10 14:25:37 MST 2003
Hello Gary,
Saturday, November 8, 2003, 3:08:02 AM, you wrote:
>> OVS> And it's slow, as well, even on SSE/3Dnow! enabled CPUs.
>> OVS> Typical operation consists of:
>> OVS> * push arguments
>> OVS> * [static] call
>> OVS> * [static] jump
>> OVS> * ...calculation...
>> OVS> * return
>>
>> Just looked, at the asm, this is not "[static] jump", it's "jump int
>> the table", so, even slower :)
>>
GRVS> Slower than, say, a non-SIMD 4x4*4x4 matrix
GRVS> multiplication? Without seeing any
GRVS> numbers I find that almost impossible to believe, even on the freakshow that is
GRVS> the Intel x86 architecture.
Frankly speaking this was benchmarked on AthlonXP/Barton, and yes, it was
indeed slower. Anyone to bench on P4 ?
>> Conditional compilation and larger-grade performance
>> optimized functions is much better, IMHO.
>>
GRVS> Conditional compilation is what I'm advocating. DirectX on Windows (if indeed
GRVS> it improves performance), the existing code otherwise until somebody comes up
GRVS> with a viable alternative for Unii etc.
As pointed out, there are almost no need to use DX parts in ODE, 'cause there
are always good or better open-source alternatives. By the way, my
preference is to use xmm intrinstics instead of "asm {}" block, this is more
portable way of writing good SIMD code. Think of Athlon64, compiler
can use more registers automatically.
BTW, our engine (S.T.A.L.K.E.R. / X-ray) based solely on DX, so I'm not anti-DX guy :)
--
Best regards,
Oles V. Shishkovtsov
GSC-Game World
oles at gsc-game.kiev.ua
More information about the ODE
mailing list