PDA

View Full Version : MMX Technology


ex_megalink2000
11th January 2002, 01:18
I am not much of a computer guy. But, I know what will improve MilkDrop performance for faster frame rate at higher resolutions: MMX Instructions. I have a lot of emulators, 3D-Games, and applications. Some support MMX instructions, and, man, they run fast!! I don't have no problems, even on my old Celeron 433 Mhz system. I can run up to 800*600 resolution without losing frame rate. Higher resolution I start getting performance loss. Anyways, I think MMX is a good way to make a program run faster, besides is support it on almost all new Intels and AMDs processor. So, why not?

geiss
11th January 2002, 21:33
MMX means parallel integer calculations; but MilkDrop uses almost entirely floating-point (non-integer) calculations.

What would be useful is 3dNOW! or SSE support, which are AMD and Intel's (respetively) floating-point versions of MMX. However, the majority of the floating-point code that MilkDrop uses is in the preset per-frame and per-pixel equations; and writing these in SSE would make it way more difficult than it already is for MilkDrop users to write their own presets. :(

It is rare, anyway, that the plug-in runs too slow because it is cpu-bound (unless the preset is poorly written); usually it is graphics bound (like when video echo comes on, or the gamma gets turned way up).

Basically, it would be really hard to eke out any more speed by using SSE, and since the graphics card is usually the bottleneck anyway, AND since cpu's are getting so much faster nowadays (300 mhz runs all the built-in presets adequately!), I probably won't get around to it soon. :igor:

-rg

mfbscs
22nd January 2002, 19:39
I asked this question in another post, but didn't get a reply. I'll put it here cause it applies to this thread. Ryan, you say that the graphics card is the bottleneck, but in the original geiss, you made a point of stating that the entire thing relied on CPU floating point speed. Geiss and milkdrop look similar, how come one relies on CPU and the other relies on the graphics card? I have been wondering this forever. Thanks.

Rovastar
22nd January 2002, 21:00
Ryan

You said:
'and writing these in SSE would make it way more difficult than it already is for MilkDrop users to write their own presets. '

? Why would this be and how would it change if you did decide to change it to use SSE.

Cheers,

Rovastar

Krash
24th January 2002, 15:41
I asked this question in another post, but didn't get a reply. I'll put it here cause it applies to this thread. Ryan, you say that the graphics card is the bottleneck, but in the original geiss, you made a point of stating that the entire thing relied on CPU floating point speed. Geiss and milkdrop look similar, how come one relies on CPU and the other relies on the graphics card? I have been wondering this forever. Thanks.

I can answer that one.
The original Geiss plugin didn't use your video card for anything except drawing the screen. Milkdrop is 3d-accelerated, plus it's running at a way higher resolution, which makes it graphics-card bound. It's like comparing Doom (the original, on computers of the day) versus Quake3... sorta.

You said:
'and writing these in SSE would make it way more difficult than it already is for MilkDrop users to write their own presets. '

? Why would this be and how would it change if you did decide to change it to use SSE.

My guess is because the math library and equation interpreter isn't written to encode the commands into SSE instructions. So either we (as preset writers) would have to write directly in SSE, or Ryan would have to write an entirely new math library and interpreter (which doesn't seem likely - that's a huge amount of work)

Just a guess though.

- Krash

geiss
29th January 2002, 08:51
Krash,

nice answers, brother
couldn't have said it better
myself, so I won't!

(that was a haiku)
(it is late)
(aieeeeeeeeee)