On Sun, 5 Aug 2001, Christoph Reichenbach wrote:

> > One of the main things that's bothering me with FreeSCI at the moment (aside
> > from the save game stuff) is timing.
> >
> > Also, screen wipes are usually normal speed, but sometimes very slow. Once
> > the timers have gone crook, it can take ages for the LSL3 titles to move
> > past the 'Sierra Presents' screen.

> There are no timers.

There definitely are :)

The last "optimization" I made that really helped things was to increase
the resolution of the time calls. It appears that FreeSCI gets the current
time, compares against the last gotten time, to see if 20ms (or howlever
long) has gone by. Whenever the initial few compares are off (because of
lack of timer precision, or whatever), this seems to cause all kinds of
events to go slowly, not just sound.

Alex: one thing we could do is to try and use a real win32 event loop
where the OS will call a function every X number of milliseconds. This
might help eliminate these kinds of problems. I think Sarien does
something like this in their win32 gfx driver, if you'd like a
reference.

A good step toward figuring this out would be to write a win32 native
soundserver that uses win32 native events, timers, etc and eliminate the
dependency upon SDL. I've start doing this a couple times, but always lose
context when I leave it for a few days and start all over again.

For the moment, I think sound is functional enough that I'm concentrating
on fixing the major win32 bugs (save games, fullscreen and scaling
corruption) first before I work on any new features (like a win32 native
soundserver).



 --
http://www.clock.org/~matt


Reply via email to