I'm positive Allegro 4 with DUMB had all your standard module formats--DOS included.
You're using a fork of the original DOS version. Maybe this original version would be more optimized for older hardware?
- What hardware are you running on? IT formats were "high class" module formats with much more processing / effect support, and TONS of channels (channels = CPU) (32 or 64 channels, IIRC). Try playing a 4 channel mod or s3m and see if it's still a speed problem.
- Run a profiler on a basic app and see where the slowdown is. It might be a simple fix to optimize it.
- Have you considered reducing the sampling rate / quality? Most trackers back-in-the-day NEVER went over 22 KHz. Since DUMB came later, it very likely supports "audiophile" level sampling rates, and interpolation which sounds much better but costs much more CPU (relatively speaking).
Per the git version you're using:
Six resampling quality settings: aliasing, aliasing with bandwidth limiting, linear interpolation, linear interpolation with bandwidth limiting, cubic interpolation, and a compile-time-configurable fast sinc resampler
ALSO, this may be key, per my link docs:
dumb_resampling_quality defaults to DUMB_RQ_CUBIC, which sounds nice but
may take too much processor power on slower systems. Try reducing it if
you have an older computer (less than 300 MHz) or if you are trying to mix
an insane number of samples (or both!). See dumb.txt for details on what
the different values actually do.
So my initial hypothesis of "defaults to higher CPU resampling" seems to be correct.