
What Happened
Victor Nieto began developing FastDOOM as a performance-focused port of DOOM for DOS systems. The project started from PCDOOM v2, which itself was reconstructed from multiple sources: the open-sourced Linux DOOM core, Heretic's I/O subsystems, and APODMX (Apogee Sound wrapper) to replace the proprietary DMX library.
Sanglard's analysis, published on March 4, 2025, provides the first comprehensive technical examination of FastDOOM's optimization strategies. The author tested all 52 releases of FastDOOM on his restored IBM PS/1 486-DX2 66MHz system, generating performance graphs that track the evolution of the port's speed improvements.
The test methodology involved running DOOM's built-in timedemo benchmark with sound enabled and screen size set to 10 (fullscreen with status bar). Each version was tested five times, with results averaged to account for variance.
Key Claims and Evidence
According to Sanglard's benchmarks, FastDOOM achieves the following performance characteristics on a 486-DX2 66MHz system:
The original DOOM 1.9 produces 21.5 fps on the demo1 timedemo. FastDOOM version 1.0.9 achieves 30.1 fps on the same benchmark, representing a 40 percent improvement. PCDOOM v2, the baseline reconstruction, runs at 22.38 fps.
On DOOM II's more demanding demo1 sequence, the original engine delivers 16.8 fps while FastDOOM reaches 24.9 fps, a 48 percent improvement.
The GitHub repository documents the technical changes enabling these gains. FastDOOM replaces DOS/4GW with DOS/32A, providing what the project describes as "a good speedup." The port removes network gaming support, joystick support, and Y-axis mouse movement to reduce code complexity and memory overhead.
New rendering options allow users to trade visual fidelity for performance. The "Potato" detail level renders scenes at quarter width resolution (maximum 80x200 pixels), significantly improving performance on 386 processors and systems with slow 8-bit VGA ISA cards.

Pros and Opportunities
FastDOOM enables playable DOOM experiences on hardware that previously delivered suboptimal framerates. Systems that struggled at 15-20 fps can achieve 25-30 fps with the optimized port.
The project supports an extensive range of legacy hardware configurations. Video mode support includes Mode 13h, MDA, CGA, EGA, Hercules, text modes, VESA 2.0, Plantronics Colorplus, Sigma Color 400, and Hercules InColor. Sound hardware support encompasses PC Speaker (including a digitized sound mode), Disney Sound Source, COVOX LPT DAC, Adlib OPL2 PCM, OPL2LPT, OPL3LPT, Tandy 3-voice PCM, Creative Music System, Game Blaster, and native Roland MT-32.
The uncapped FPS mode with frame interpolation allows systems capable of exceeding 35 fps to take advantage of their additional processing power.
Cons, Risks, and Limitations
FastDOOM removes several features present in the original DOOM to achieve its performance gains. Network multiplayer support has been eliminated entirely. Joystick support is unavailable. The Y-axis mouse movement option (moving forward and backward with the mouse) has been removed.
The project documentation notes that the removal of the low memory limit "may cause crashes with low RAM." Users with minimal system memory should exercise caution.
Some rendering optimizations reduce visual fidelity. The flat visplane option removes ceiling and floor textures. The flat transparency option changes how Spectres and invisible objects appear. The Potato detail level significantly reduces horizontal resolution.
The port requires DOS or a DOS-compatible environment. Modern systems would need DOSBox or similar emulation software to run FastDOOM.

How the Technology Works
DOOM's rendering engine divides the screen into horizontal spans called visplanes for floors and ceilings, and vertical columns for walls. The original engine performed these calculations with limited optimization due to the one-year development timeline id Software maintained.
FastDOOM applies multiple optimization strategies to reduce CPU cycles per frame. The DOS/32A extender replacement provides more efficient protected mode memory access compared to DOS/4GW. Memory allocation improvements allow the engine to make better use of available system RAM.
The rendering pipeline offers configurable quality levels. Users can disable floor and ceiling textures, replacing them with flat colors. Wall textures can similarly be disabled. The sky can render as a fixed color rather than a scrolling texture. Each option reduces the number of memory reads and texture lookups per frame.
Technical context (optional): The original DOOM used video mode Y, a tweaked version of VGA's Mode X that provided 320x200 resolution with page flipping. FastDOOM adds support for standard Mode 13h and numerous other video modes, each with different performance characteristics depending on the video card's capabilities.
Broader Implications
FastDOOM demonstrates that significant performance headroom remained in the original DOOM codebase. The 30-48 percent improvements suggest that id Software's aggressive shipping schedule left optimization opportunities unexplored.
The project contributes to DOS gaming preservation efforts. As original hardware ages and becomes less reliable, optimized ports extend the practical lifespan of vintage systems for gaming purposes.
The detailed benchmark data across 52 releases provides a case study in iterative optimization. Each version's performance delta illustrates the cumulative effect of targeted code improvements.
What Remains Unclear
The specific code changes responsible for the largest performance gains are not fully documented in the analysis. While Sanglard's article provides benchmark data, a line-by-line comparison of optimization techniques would require examining the source code directly.
Performance characteristics on systems other than the 486-DX2 66MHz test platform are not comprehensively documented. The GitHub repository includes some benchmark data for other configurations, but systematic testing across the full range of supported hardware has not been published.
The project's compatibility with various DOOM WAD files and total conversions has not been exhaustively tested. Some modifications may behave differently with FastDOOM's altered rendering options.
What to Watch
The FastDOOM GitHub repository continues to receive updates. Version numbering and release notes indicate ongoing development activity.
Community benchmarks on additional hardware configurations would provide broader performance data. The retro computing community's testing on various 386, 486, and early Pentium systems would establish performance expectations across the target hardware range.
Sanglard's analysis may prompt similar examinations of other classic DOS game engines. The methodology of systematic benchmarking across version history could apply to other preservation-focused ports.


