How much faster is fastDOOM than regular Doom on a decked-out 486 from 1993?
30% faster without cutting any features! On a demanding map like doom2’s demo1, the gain is even higher, from 16.8 fps to 24.9 fps. That is 48% faster!
I did not suspect that DOOM had left that much on the table. Obviously shipping within one year left little time to optimize. I had to understand how this magic trick happened.
↫ Fabien Sanglard
What follows is an incredibly detailed exploration of why, exactly, fastDOOM is so much faster, by building and benchmarking every version, and even going git commit by git commit to really understand how fastDOOM’s developer, Victor “Viti95” Nieto, achieved these impressive results.
When Doom was first open sourced it was ported to the Amiga – a platform that many claimed wasn’t capable of running doom…
A lot of effort went into optimizing it to prove such people wrong, also given the demise of commodore and motorola’s abandonment of the m68k architecture it wasn’t possible to wait for faster hardware.
Amiga 500 GRIND game.
https://youtu.be/TvRIn75T5R4?feature=shared
Main problems of base systems, like the Atari ST, where limited memory (most had 512 KB or 1MB), slow with that (about 1 MB/s at best), no hard drive, no FPU. Doom has been successfully ported to the Atari Falcon030, but only if it had an accelerator card like the CENTurbo (68030 at 50 MHz) or the CT60 / CT63 / CT60e (68060 at 66 MHz or up).
Standard Falcon030 at 16 MHz : https://www.youtube.com/watch?v=SMxR4O3v_oE
Falcon030 + CT60 : https://www.youtube.com/watch?v=NnIfUCdhlv0
It wasn’t possible except for only the fastest Amigas, which were 1,000’s of dollars. So in effect, they, especially Carmack, were right.
Even when it was ported over to those, it was still only benchmarked to run at FIVE frames per second with the window size maximized, hardly playable.
Didn’t really matter, because by the time Amiga got Doom, we had been enjoying Quake for a year already, and Games like Half Life, Unreal, and Mechwarrior 2 were coming out for PC the next year.
Yes,
There was a deep dive to why Amiga failed against the PC, and DOOM (and previously Wolfenstein) was the showcase in that fall.
Can’t find the link, so I’ll roughly summarize to:
Why?
Because Amiga did not provide a proper framebuffer for graphics, but bitplanes instead. Yes, it had more colors. Yes it had better sprite support. But if you wanted to do calculations on the CPU and do real time graphics, you had less luck than even an Atari 2600.
That wasn’t the reason it failed. It failed because the American management was dismissive of the Amiga as a gaming platform. The gaming aspects was entirely driving by Amiga UK and other European offices. Later yet the CEO just outright leeched resources from the company until it was dry.
Carewolf,
I would recommend watching this:
https://youtu.be/wsADJa-23Sg
It is a technical analysis on why Amiga was unable to compete with PCs on gaming anymore.
Of course they could have pivoted, and brought up new hardware (and they did try with A1200). But it was too late by then.
An A1200 with an accelerator card wasn’t thousands of dollars, and in many cases still cheaper than a good spec 486.
Yes the performance of the initial port was poor as it was little more then a recompile of something optimized for a completely different architecture, but performance did improve quite significantly with optimization.
https://www.complang.tuwien.ac.at/misc/doombench.html
But yes the Amiga was late to get doom (and quake) largely because it was unofficial ports after the code was opened up.
bert,
I can only appreciate the amiga scene from a distance although I know a lot of clever innovation came from amigas: the demos and of course the mod music.
Anyway, there’s some truth that successful games would go on to decide winners in the hardware space. John Carmack optimized quake so specifically to intel CPUs that it gave intel a decisive advantage over other contemporary CPUs, even those that typically outperformed intel. It’s funny how things might have played out differently if Carmack owned a different computer.
https://liam-on-linux.livejournal.com/49259.html