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 02:08:27 -0800
Reply-to: rt@xxxxxxxxxxx

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

On Sun, Feb 08, 2004 at 11:19:01AM -0800, Jason Dorje Short wrote:
> > The problem is much worse. The overview isn't updated at all (except
> > for expose and recentering). A clear sign that I rushed the patch too
> > much and so it got too less testing.
> > 
> > The fix is to draw (copy to screen + white rectangle) the complete
> > overview at unqueue_mapview_updates.
> 
> That's definitely not "the" fix; it's horribly inefficient. 

I agree that it is more inefficient then it could be.

> unqueue_mapview_updates may be called many times because if there's 
> nothing to be done it's not supposed to do anything.  But if it always 
> copies the _entire_ overview to the screen then it becomes quite slow.
> 
> For instance this function is called before each animation.  Do we 
> really need to redraw the overview each time?

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.

I'm for the first alternative. It also resembles what we do with the
main mapview.

        Raimar

-- 
 email: rf13@xxxxxxxxxxxxxxxxx
 "I do feel kind of sorry for Microsoft. Their attornies and marketing
  force must have tons of ulcers trying to figure out how to beat (not
  just co-exist with) a product that has no clearly defined (read
  suable) human owner, and that changes on an hourly basis like the
  sea changes the layout of the sand on a beach. Severely tough to
  fight something like that."
    -- David D.W. Downey at linux-kernel




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