Complete.Org: Mailing Lists: Archives: freeciv-dev: January 2004:
[Freeciv-Dev] Re: (PR#7301) Unified and cached overview
Home

[Freeciv-Dev] Re: (PR#7301) Unified and cached overview

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: undisclosed-recipients: ;
Subject: [Freeciv-Dev] Re: (PR#7301) Unified and cached overview
From: "Raimar Falke" <i-freeciv-lists@xxxxxxxxxxxxx>
Date: Mon, 26 Jan 2004 00:36:38 -0800
Reply-to: rt@xxxxxxxxxxx

<URL: http://rt.freeciv.org/Ticket/Display.html?id=7301 >

On Sun, Jan 25, 2004 at 02:30:46PM -0800, Jason Short wrote:
> I think the best way to do it is to have two backing stores:
> 
> - Low level backing store is done in native coordinates (the way the
> current backing store is).
> - High level backing store is done in overview coordinates (the way the
> current window is).
> 
> Then at the appropriate times, we draw to the native backing store, copy
> it to the overview backing store, and copy the overview backing store to
> the window.
> 
> This will make overview_canvas_expose() much more efficient.  Currently
> any time an expose event is triggered for the overview window the entire
> overview is redrawn.  Ugly.

I agree this isn't perfect but I really don't see a speed problem
here. At expose (which is quite rare by itself) we do 4 blits and 4
lines. This is really not expensive.

Also note that in the FS client an expose doesn't destroy the image
drawn onto a canvas. The reason is that the FS client has an "expose
buffer" for the whole screen. (This is also nice for doing screen
dumps.)  So with this you will encode client specific mechanism into
the common code.

        Raimar

-- 
 email: rf13@xxxxxxxxxxxxxxxxx
 "This is Linux Country. On a quiet night, you can hear Windows reboot."




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