Reply 580 of 1201, by Bondi
- Rank
- Oldbie
ViTi95 wrote on 2022-12-16, 09:33:While developing optimizations for Potato mode i've just discovered a bug that I think it hasn't been documented and exists sinc […]
While developing optimizations for Potato mode i've just discovered a bug that I think it hasn't been documented and exists since... 1994 (!!) It just happens that Heretic has a rendering bug on R_DrawSpan (which is ASM optimized and it's much faster compared to Doom R_DrawSpan). It basically renders the first pixel twice and then continues rendering the rest without issues. It's hard to find on a 320x200 resolution, but it becames very obvious on FastDoom's potato mode (80x200):
Here is the bug on Heretic:
heretic_002_double.pngheretic_002_zoom.pngAnd here is the same bug on FastDoom's Potato mode:
dos4gw_000_double.pngdos4gw_000_zoom.pngRight now, the bug has been fixed and these are some performance numbers:
FastDoom 0.9.1: 27.632 fps
FastDoom 0.9.2: 33.860 fpsThis is 22% faster, on a 386DX-40 (Ultimate Doom timedemo demo3, fullscreen+HUD and no sound). And here is the cool thing, the same optimization will be applied for low detail and high detail modes on Mode Y, so expect performance uplift on the next release 😁
rmay635703 wrote on 2022-12-10, 04:38:Doom on CGA without 16bit x86 support is a travesty
Harris 286-25 🙁 no doomYeah I know, as is already been said, is very hard to port Doom to 16-bit only instruction set. Maybe some crazy developer (and more experienced than me) could achieve this. Or make Wolfenstein 3D Hercules/CGA/EGA compatible 😏
22% is an outstanding result! Congrats!