[Lazarus] Recent Graphics changes...

wile64 wile64 at gmail.com
Tue Jul 8 18:00:26 CEST 2008


2008/7/8 Marc Weustink <marc.weustink at cuperus.nl>:

> wile64 wrote:
> > Hi,
> >
> > I turn quickly,
> >
> > I load images like this, (size 8192x8192)
> >
> > var
> >      BmpMap: TBitmap;
> >      Image1: TImage;
> >
> > Begin
> >    BmpMap.Width: = Map.width * Tiles.Width;
> >    BmpMap.Height: = Map.height * Tiles.Height;
> >    MapImage: = BmpMap.CreateIntfImage;
> >    / / ... image processing
> >    BmpMap.LoadFromIntfImage (MapImage);
> >    Image1.Picture.Bitmap.Assign (BmpMap);
> > end;
> >
> > 1) Since the last change LoadFromIntfImage takes +/- 11 seconds, before
> > 1 second.
> > 2) The TImage is in a ScrollBox, the image disappears (1seconde) when I
> > scroll.
> >
> > Is this a problem or should be done differently now?
>
> There isn't much changed in LoadFromIntImage, but I need to lookup if
> the internal rawimage is shared correctly. In the worst case a pixelcopy
> is made, which is not necesary in this case.
>

For info: I use always last SVN on XP SP2 AMD 2500+ 1Go memory
On linux my other PC is very more speed and I see one small change


>
> one little optimalisation is setting the size like:
>
>   BmpMap.SetSize(Map.width * Tiles.Width, Map.height * Tiles.Height);


Thanks for this,


>
> Another optimalisation would be creating the RawImage directly and not
> through a bitmap.
>

Impossible, if the image is too big there is a mistake ( Failed to create
handles )
  MapImage:= TLazIntfImage.Create(Map.width * Tiles.Width, Map.height *
Tiles.Height);


-- 
Laurent.

"If debugging is the art of removing bugs, then programming must be the art
of creating!"

My Components: http://wiki.lazarus.freepascal.org/Wile64
French Forum : http://lazforum-fr.tuxfamily.org/index.php
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20080708/212a9be9/attachment-0007.html>


More information about the Lazarus mailing list