www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2000/01/04/11:55:04

Message-ID: <F77915E7F086D31197F4009027CC81C917B59F@probe-2.as-london.acclaim.com>
From: Shawn Hargreaves <SHargreaves AT acclaimstudios DOT co DOT uk>
To: djgpp AT delorie DOT com
Subject: Allegro: load_datafile is SLOW!!!
Date: Tue, 4 Jan 2000 15:54:51 -0000
MIME-Version: 1.0
X-Mailer: Internet Mail Service (5.5.2650.21)
Reply-To: djgpp AT delorie DOT com

Night Walker writes:
> I'm trying to load a 1.167.727 bytes datafile, containing 3 compiled
> sprites at 24bpp.
[...]
> Simply loading the datafile in a binary ram-buffer takes less than a
> second on my AMD-K5 100Mhz, 32Mb Ram.
[...]
> it takes about 3 minutes to load it (however it is loaded perfectly).

I'm surprised that it takes as long as 3 mins, but it is normal that
this operation be quite slow. There is a lot of work involved with
loading compiled sprites: the pixel data has to be converted into
whatever encoding your graphics card is currently using, and then
compiled into a machine code format, which is neither cheap nor
especially carefully optimised. The problem is that you have too
much data: compiled sprites are good for small, frequently drawn
images, but you have a meg of them even in disk format, which will
bloat to many times that size when it gets compiled. That's a lot
of data to be shifting around, and depending on your DPMI settings
it is possible that it might even start you swapping to disk (that's
the only thing I can think that would explain a 3 mins loading time).

Solution: don't do that. Compiled sprites are a bad solution for 
such large images: use RLE format instead.

> Another question: I used _install_irq() to install my own keyboard
> interrupt handler function, but after 16 keystrokes the PC Speaker
> begins to beep every keystroke.

The BIOS keyboard handler must still be getting called: perhaps your
handler is chaining to it by mistake?


	Shawn Hargreaves.

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019