Complete.Org: Mailing Lists: Archives: freeciv-dev: February 2004:
[Freeciv-Dev] Re: (PR#7385) overview isn't updated
Home

[Freeciv-Dev] Re: (PR#7385) overview isn't updated

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: jdorje@xxxxxxxxxxxxxxxxxxx
Subject: [Freeciv-Dev] Re: (PR#7385) overview isn't updated
From: "Raimar Falke" <i-freeciv-lists@xxxxxxxxxxxxx>
Date: Mon, 9 Feb 2004 22:16:08 -0800
Reply-to: rt@xxxxxxxxxxx

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

On Mon, Feb 09, 2004 at 01:15:00PM -0800, Jason Dorje Short wrote:
> > Alternative suggestions:
> >  - a flag which is set every time the overview (backing store) is
> >  updated and cleared when the backing store is copied to the screen
> >  - perform the graphical operation we do to the backing store also to
> >  the window. This is what the old code did. However there is a problem
> >  and I'm not sure if this was a bug in the old code or the old code
> >  too some measures to prevent it: the overview rectangle will be
> >  destroyed this way.
> 
> This is a bug, but trivial.
> 
> > I'm for the first alternative. It also resembles what we do with the
> > main mapview.
> 
> We shouldn't have to copy the _entire_ backing store all at once. 

While I agree I don't think that these 4 blits of medium size are a
performence problem.

> It should be possible to do a partial flush.  However here we run
> into the problem of redrawing the overview rect. 

> This is no problem when we're just updating one tile at a time

I don't think so. Updating a tile and so destroying the white lines is
a problem.

> , but if we flush half of the window in an expose event it's no
> good.

> Leaving that aside for a minute, I think something like the first 
> alternative would be good.  But I'd do it differently, with 
> dirty_overviewcanvas.  The flush should be done inside flush_mapcanvas. 
>   This will work very nicely for gui-gtk2 where all the work is done by 
> GDK.  Other GUIs will just need an extra flag.  The time saved because 
> we don't do piecemeal updates should more than make up for the extra 
> work because we sometimes have to do full updates instead of one-tile 
> updates.

If you suggest that dirty_overviewcanvas() is gui specific and that
flush_mapcanvas() stays this way I disagree. Unification is the big
thing we want to have.

        Raimar

-- 
 email: rf13@xxxxxxxxxxxxxxxxx
  Living on earth may be expensive, but it includes an annual free trip
  around the sun.




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