VOGONS


Benchmarking DOOM with sound cards

Topic actions

Reply 20 of 23, by bjwil1991

User metadata
Rank l33t
Rank
l33t

Strange. On my IBM ThinkPad R40, I got about 140FPS, which is good. It also depends on the video card (modern ones cause the bottleneck, whereas the older ones do get better framerates).

Discord: https://discord.gg/U5dJw7x
Systems from the Compaq Portable 1 to Ryzen 9 5950X
Twitch: https://twitch.tv/retropcuser

Reply 21 of 23, by alvaro84

User metadata
Rank Member
Rank
Member
noop wrote:

With AWE32, sample upload is software, and not very fast. Possibly same on GUS, and possibly you are even forced to send 16-bit data through 8-bit ports. Didn't program GUS though. On EMU8000, where writes are always 16-bits, 1MiB of data takes roughly 1 second to upload. Situation with sending 16-bit PCM via 8-bit ISA accesses(with delay!) exists, for example, on Adlib Gold MMA, which I recently studied. Basically, the speed of such uploads does not scale with CPU speed at all.
I suspect software mixing is used with GUS in order to not compromise sample RAM and channel count required for music playback.

I can only make theories here. In my tiny modplayer (a few hundred bytes, of course not each and every effect) I uploaded the samples just the same way - byte by byte, with manual port operations. But even the original GUS allocated DMA (or, more precisely, its software appointed the IRQs/DMAs for it) so it must have had a function. And what else could that be if not sample uploading? Apart from recording, I mean. What's more, using the same method for streaming buffer uploads would be a very CPU-consuming chore. May it be in the games and hence the massive slowdown on certain chipsets...? But why not on others...? I can't rule it out (as I don't have nor the sources nor the will to dissect those to see what really happens) but I'd say it should be DMA instead.

AWE is better in this respect. It has a separate SB16 for DMA playback so the games don't have to use the wavetable to constantly upload and play streaming buffers. It's sad though that the wavetable was seldom used with custom samples, it could be just as good as the GUS (or more like the Interwave of the GUS PnP with its bigger address space and 44-kHz mixing even at 30 channels). (Could the last two AWE channels be used for anything but DSP effects? Impulse Tracker can't seem to allocate them for actual notes.)

I'm getting more and more off topic, sorry about that.

Shame on us, doomed from the start
May God have mercy on our dirty little hearts

Reply 22 of 23, by Scali

User metadata
Rank l33t
Rank
l33t
alvaro84 wrote:

AWE is better in this respect. It has a separate SB16 for DMA playback so the games don't have to use the wavetable to constantly upload and play streaming buffers.

Both the GUS MAX and the GUS Extreme also have this option.
The GUS MAX has an onboard 16-bit ADC and DAC, capable of up to 48 kHz, which can be used side-by-side with the GF1 wavetable synth. I believe the ADC/DAC are even WSS-compatible.
The GUS Extreme combines the GF1 with an ESS AudioDrive, which offers 16-bit streaming samples as well, and also all Sound Blaster Pro 2-compatible sample modes.

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/

Reply 23 of 23, by noop

User metadata
Rank Member
Rank
Member
alvaro84 wrote:

It's sad though that the wavetable was seldom used with custom samples, it could be just as good as the GUS (or more like the Interwave of the GUS PnP with its bigger address space and 44-kHz mixing even at 30 channels). (Could the last two AWE channels be used for anything but DSP effects? Impulse Tracker can't seem to allocate them for actual notes.)

Yeah, would be significantly better than GUS, because of its superior quality sample interpolation, always runing at 44100/16(?) bits(actually, I suspected 14, but my memory could fail me), has low-pass filter with resonance and, of course, chorus/reverb.
I did not test the filter much, but E-MU's resampling technology and digital filters were top-notch back then, at least in their professional hardware. One of several great audio companies Creative bought and exploited.
I programmed my AWE somewhere in 90s, and IIRC, those 2 channels are supposed to be initialized with predefined parameters and are always running, unavailable for music playback. Repurposed for RAM regeneration, and possibly also as dummy voices that allow external stereo input from Yamaha OPL3 chip to be digitally resampled to 44100 and enhanced by chorus/reverb.
I only remember 1 game that used emu8k specifically for sound effects - Eradicator. Depending on available RAM it would upload 0.5-2M of its samples as soundfonts, which would start to sound really awesome. Music, on other hand, was just a single ambient PCM track streamed from HDD through DMA at 22KHz.
This is offtopic though.