>Examples of games that either required or benefited from MMX enhancements in their software renderer were Eraser Turnabout, POD, and Extreme Assault
POD "Designed for Intel MMX" meant _one_ optional audio filter effect. It was added in order for Ubisoft to cash out $1 Million bribe Intel was handling out while running new Pentium Inside campaign. Intel later tried repeating same stunt with SSE while promoting new Pentium 3, but failed to bag any serious takers other than Rage Software. Rage made a fake game demo (Dispatched) for Intel 1999 Comdex Fall booth which Intel used to manipulate benchmarks for a couple years by lying to Anandtech claiming its a real game :| https://web.archive.org/web/20210807020603/https://www.anand...https://www.hardware.fr/articles/95-5/jeux-optimises.html
Two other examples from that link are SSE "optimized" Rage Software Expendables running slower than original, and "Pentium III optimized" PowerSlide by GT Interactive with zero fps difference. Neither ever released outside of Intels Comdex booth and marketing materials.
>Even though Quake and Quake II are often used as examples of games that benefited from MMX technology, it's important to point out that Quake's famous software renderer predates MMX.
Quake benefitted from MMX processors because those models had doubled L1 cache size :) No one cared about MMX, but jump from 16 KB to 32 KB meant visible fps bump in all games.
> So, Quake's fast performance was achieved primarily through techniques like fixed-point arithmetic
Quake didnt use fixed point math, whole magic of Quake relied on taking full advantage of pipelined FPU. Quake was never optimized for data locality tho and loved cache, the more the better. It scales linearly all the way to 2MB of L2 https://dependency-injection.com/2mb-cache-benchmarks/ and probably would higher if we had platforms supporting more to run tests.
>Many games and other multimedia applications shipped with optional MMX code paths
No, exact opposite. Barely any games, pretty much only the ones where Intel paid that $1m bribe, shipped with any MMX support directly because it was Integer only DSP like accelerator good for Audio/Video but useless for 3D.
>Real floating-point SIMD for x86 didn't arrive until SSE (Streaming SIMD Extensions) several years later with the Pentium III series.
but
>The first processor to ship with 3DNow! technology was the AMD K6-2 from 1998.
So which is it? :)
>3DNow! was never more popular than MMX.
It was much more popular where it counted considering game developers implemented it without bribes and it actually made games run faster. 3DNow's biggest problem was being introduced in bargain bin low end K6-2 CPUs.
>Developers faced the choice of supporting either Intel CPUs or AMD CPUs
True dichotomy. There is no choice because both technologies provide distinct non overlapping and non interchangeable features. Its like saying "Developers faced the choice of supporting audio filters or faster 3D"
>choosing MMX meant potentially supporting a larger fraction of PC gamers
MMX was _useless_ for early 3D accelerated gaming with CPU still having to perform FPU heavy T&L. Adding any MMX code meant lowering FPU performance of the renderer.
>If you wrote a 3DNow!-optimized renderer, it would only benefit AMD chips that supported it.
The difference being 3DNow!, unlike MMX, actually did benefit AMD owners FPS numbers. NovaLogic software based Voxel renderer is the sole exception, NovaLogic might be th...
2 comments
[ 0.20 ms ] story [ 11.7 ms ] threadPOD "Designed for Intel MMX" meant _one_ optional audio filter effect. It was added in order for Ubisoft to cash out $1 Million bribe Intel was handling out while running new Pentium Inside campaign. Intel later tried repeating same stunt with SSE while promoting new Pentium 3, but failed to bag any serious takers other than Rage Software. Rage made a fake game demo (Dispatched) for Intel 1999 Comdex Fall booth which Intel used to manipulate benchmarks for a couple years by lying to Anandtech claiming its a real game :| https://web.archive.org/web/20210807020603/https://www.anand... https://www.hardware.fr/articles/95-5/jeux-optimises.html
Two other examples from that link are SSE "optimized" Rage Software Expendables running slower than original, and "Pentium III optimized" PowerSlide by GT Interactive with zero fps difference. Neither ever released outside of Intels Comdex booth and marketing materials.
>Even though Quake and Quake II are often used as examples of games that benefited from MMX technology, it's important to point out that Quake's famous software renderer predates MMX.
Quake benefitted from MMX processors because those models had doubled L1 cache size :) No one cared about MMX, but jump from 16 KB to 32 KB meant visible fps bump in all games.
> So, Quake's fast performance was achieved primarily through techniques like fixed-point arithmetic
Quake didnt use fixed point math, whole magic of Quake relied on taking full advantage of pipelined FPU. Quake was never optimized for data locality tho and loved cache, the more the better. It scales linearly all the way to 2MB of L2 https://dependency-injection.com/2mb-cache-benchmarks/ and probably would higher if we had platforms supporting more to run tests.
>Many games and other multimedia applications shipped with optional MMX code paths
No, exact opposite. Barely any games, pretty much only the ones where Intel paid that $1m bribe, shipped with any MMX support directly because it was Integer only DSP like accelerator good for Audio/Video but useless for 3D.
>Real floating-point SIMD for x86 didn't arrive until SSE (Streaming SIMD Extensions) several years later with the Pentium III series.
but
>The first processor to ship with 3DNow! technology was the AMD K6-2 from 1998.
So which is it? :)
>3DNow! was never more popular than MMX.
It was much more popular where it counted considering game developers implemented it without bribes and it actually made games run faster. 3DNow's biggest problem was being introduced in bargain bin low end K6-2 CPUs.
>Developers faced the choice of supporting either Intel CPUs or AMD CPUs
True dichotomy. There is no choice because both technologies provide distinct non overlapping and non interchangeable features. Its like saying "Developers faced the choice of supporting audio filters or faster 3D"
>choosing MMX meant potentially supporting a larger fraction of PC gamers
MMX was _useless_ for early 3D accelerated gaming with CPU still having to perform FPU heavy T&L. Adding any MMX code meant lowering FPU performance of the renderer.
>If you wrote a 3DNow!-optimized renderer, it would only benefit AMD chips that supported it.
The difference being 3DNow!, unlike MMX, actually did benefit AMD owners FPS numbers. NovaLogic software based Voxel renderer is the sole exception, NovaLogic might be th...