Peter,

What composited desktop are you running and can you point us to a url?

Steve Meier

On Tue, 2007-11-06 at 23:46 +0000, Peter Clifton wrote:
> Dear all,
> 
> Working to fix the severe performance problem I encountered running
> gschem on a composited desktop, I've got a series of patches which make
> all gschem drawing go into the backbuffer _only_.
> 
> We then (where appropriate) "invalidate" regions of the front-buffer,
> triggering a blit between the backingstore drawable and the
> GtkDrawingArea widget's drawable. This means one screen update hit for
> the compositing manager to update, rather than one for every single line
> we draw to screen.
> 
> This isn't completely finished yet.. I suspect "stroke" drawing doesn't
> work again, but I've not got libstroke installed at the moment to test.
> 
> 
> As we'd get no speedup (perhaps a slowdown) by invalidating tiny tiny
> areas for each line / shape we draw, I've only added invalidates in a
> few places. The idea is that where we can know the bounds of a whole
> update operation, we'll invalidate that area all at once. (Saves
> computation time in merging lots of tiny regions).
> 
> If there are drawing regressions with these patches, it means I need to
> add more invalidates somewhere (or fix the drawing code to work via one
> of the routines which does invalidation).
> 
> I'd very much appreciate some testing and feedback at this stage.. does
> it work for you, does it speed up / slow down various operations, and
> can you spot any new drawing areas cf. without these patches). Does
> anyone run with a composited desktop (e.g. compiz, compiz-fusion, beryl
> etc..)
> 
> 
> To test, either clone my repo.or.cz repository:
> git clone git://repo.or.cz/geda-gaf/pcjc2.git
> (The useful code is in the "toplevel_overhaul2" branch.)
> 
> or add it as a remote branch to an existing checkout, e.g..
> 
> git remote add -f -m toplevel_overhaul2 pcjc2 
> git://repo.or.cz/geda-gaf/pcjc2.git
> git fetch pcjc2
> 
> git checkout pcjc2/toplevel_overhaul2
> 
> will take you to the branch I've been working on. (Ok, bad branch
> management there... I ended up working in the stgit series for the other
> changes I've been working on / trying to push recently).
> 
> I un-applied the rest of that series before pushing out to the
> repo.or.cz repository, so you'll not be cluttered with changes to remove
> the ATTRIB struct, cleanup rotating, mirroring APIs, refactor place
> buffers, allow rotating whilst placing in any way, ..... (list goes on).
> 
> NB: SHA1 of these patches subject to change, as they are an stgit
> series, and can be edited / pushed / popped into different orders. Don't
> base lots of changes off these!
> 
> Comments and code-review most welcome,
> 
> Best wishes,
> 



_______________________________________________
geda-dev mailing list
[email protected]
http://www.seul.org/cgi-bin/mailman/listinfo/geda-dev

Reply via email to