Complete.Org: Mailing Lists: Archives: freeciv-dev: December 2002:
[Freeciv-Dev] Re: different iso drawing algorithms
Home

[Freeciv-Dev] Re: different iso drawing algorithms

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: Raimar Falke <rf13@xxxxxxxxxxxxxxxxx>
Cc: "freeciv-dev@xxxxxxxxxxx" <freeciv-dev@xxxxxxxxxxx>
Subject: [Freeciv-Dev] Re: different iso drawing algorithms
From: Rafa³ Bursig <bursig@xxxxxxxxx>
Date: Sun, 8 Dec 2002 16:29:57 +0100

Dnia 2002.12.08 15:05 Raimar Falke napisa³(a):
On Sun, Dec 08, 2002 at 02:06:51PM +0100, Rafa³ Bursig wrote:
> >> SDL can pack transparent pixel in sprite but this is usefull only
> >> for read whole pixel array.
> >
> >Sounds like it uses something like a run-length encoding to
minimize
> >memory footprint.
> >
> not only memory footprint but that sprites has less pexel to copy.
> That depend on numbers of transparent pixels and aspec of sprites (
> sprites where width >> high are faster/better compres )
>
> This is called RLEACCEL

It is run-length encoding per line. See the top of
<http://www.libsdl.org/cgi/cvsweb.cgi/SDL12/src/video/SDL_RLEaccel.c?rev=1.5&content-type=text/x-cvsweb-markup&sortby=date>

Yes I know.


> >> If you want have partial acces to pixel ( first metod )you must
> >> uncompres sprite and then read those pixels.
> >
> >It wouldn't matter if SDL supports a mask as a clipping
> >object. However it looks like it only support rectangulars.
> >
> Yes but that isn't problem here.
> If you want use that compresion all direct acces to pixels force
> decompess sequence.
> And when you want get only part of pixels ( clipping rect mask )
from
> sprite you must done directly acces.
>
> SDL can support both metod but IMO secound has better performance
> becouse can use RLEACCEL.

Can you qualify this? How much time do you need for a complete map
canvas redraw if you use RLEACCEL and how without?

I make some test on END_GAME_STATE ( see entire map without irrigation , road ,units , cities and FOG !!) I disable dithering becouse for now it work with pixel acces and we want see how fast is RLE

I have special function to draw entire screen map ( draw only main tile sprites ).
Map screen has 640x480 pixels

Normal :
Redraw time = 87, 90, 88, 93, 97, 91 ms
Flush_fullscreen time : 7 ~ 23 ms

RLE :
Redraw time = 53, 61, 56, 60, 59, 48 ms
Flush_fullscreen time : 7 ~ 19 ms

Rafal

----------------------------------------------------------------------
Powiedz sobie dobre "Dzien dobry"! >>> http://link.interia.pl/f168b




[Prev in Thread] Current Thread [Next in Thread]