Doom engine code review
It's amazing that this would run halfway well on a 33 MHz 486.  Doom had a 35 fps cap, and ran at 320x240 (square pixels):<p>2.7 million pixels per second at 35 fps (the cap).<p>1.4 million pixels per second at 18 fps (~50% of cap).<p>At the more realistic target of 18 fps, you have 24 clock cycles per pixel. A 486 averaged about 0.8 instructions per clock, so you're looking at 19 instructions per pixel.  With a 33 MHz memory bus and the DRAM of the day, you're looking at about 5 clocks for  memory latency.  That looks like an upper bound of no more than 4 memory operations per pixel.<p>A convincing 3d renderer averaging 19 instructions and 4 memory operations per pixel.  And we're not even counting blit/video delays here.  Good lord is that savage optimization work.  Carmack is famous for a reason.<p>P.S. The <i>really</i> scary thought is that Doom would hypothetically run on any 386 machine -- can you imagine painting e.g. 160x120 on a cacheless 20 MHz 386 laptop?