Index: [thread] [date] [subject] [author]
  From: WHS <wouters@cistron.nl>
  To  : ggi-develop@eskimo.com
  Date: Sat, 08 Aug 1998 22:05:54 +0200

offtopic rambling on [Re: Big changes to CVS tree]

Emmanuel Marty wrote:

[gsi-doom]
> Can you mail the patch to me? I'll merge it with the new GGI api changes ?

You probably want the fix for the regular server first (see below).
gsi-doom won't work with any old gsi versions (some interface changes
and I'm experimenting with function names too).

> > Now I must add
> > .MUS support to gsi or convert MUS -> MIDI before sending to the server
> > and music shoud be fully functional too. btw, the doom docs talk about
> > latency in the sound server that should be lessened by a SHM mixer
> > buffer and/or other approaches; this is rubbish. The doom sndserver as
> > is uses fragsizes that result in .05 to .1 s delays. No wonder! A small
> > change and I get .023 to .035 s delays (just as gsi uses when using the
> > recommended values) which isn't really noticeable.
> 
> (and that comes in the patch you'll mail me, right? :) What did you
> change, fragsizes ? .1s delay is insane :)

That patch for the regular server is just one line:
line 84 of linux.c in the sndserv.tgz archive, change
    i = 11 | (2<<16);
to
    i = 9 | (3<<16);
(i.e. 2 frags of 2048 b to 3 frags of 512 b)

You can check it yourself: 2* (2^11) /(2*2*11025) = 0.093 s maximal
delay (2=for 16 bit, 2=for stereo, 11025=dsp frequency).
In my version: 3*(2^9)/(2*2*11025) = 0.035 s maximal delay.

The improvement is enormous when you're eg in the menu. The lag is
_really_ noticable there in the original version.

Still, this keeps the effective minimal delay above the .02s minimum of
repeated usleep(0)'s, so multitasking will not make it produce choppy
output (unless under heavy load; btw the system resolution should really
be lowered to .001 s in linux/FreeBSD, don't know what it is in OBSD at
the moment.

==> Some mentioned on this list he experimented with .001 s system
resolution (don't remember which post). Where do I change the jiffies
amount?
).

Another thing: there's a constant SNDSRV in a file in the doom source
which should be SNDSERV, otherwise you get irrelevant '...not cached,
wtf?' output. This wasn't fixed in the ggidoom.diff I have here (don't
know how recent that is though).

> I am convinced that your sound server will become their sound API
> if you let them.. What do you think ? It would be a waste of time
> to try to come up with a server even remotely as good as yours -
> they should really help you on it, rather. (IMNSHO :)

Well, whoever wants to use it, can do so of course :)

> Wouter - if I converted well, the meeting is at 23:00 our time, I
> think you should be able to connect at irc.nijenrode.nl ; for french
> users, irc.ec-lille.fr looks like it is an efnet server too.

Yes, a bit late but I'll probably be there (not for too long though).
Need to fish out the IRC docs now.

[AWE 32 support]
> You should have said so :) I have an AWE32 somewhere here, I can
> plug it in a machine if you like.. :)

Sure! I can't find the gsi-0.6 source anywhere anymore though. I'll put
up a 0.7 snap later.


Wouter

Index: [thread] [date] [subject] [author]