[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

gEDA-bug: [Bug 708388] Re: Select all and deselect actions are too slow



Right - the selection rect will be invalidating a big area on screen.

Two points:

1. We want this to be fast anyway, since it is our repaint speed for zooming and panning.
2. Instead of invalidating a big box, we could do four small-area rectangles.

BUT.. obviously my patch is going to blow the 4 small area rectangles up
into one big box again.

Perhaps we should look at implementing Chris WIlson's suggestion - keep
a list of the rects around, then compute the intersected region when
we're ready to redraw. Shouldn't be as hard as arbitary polygon
intersection ;)

We could even just start building up a list of damaged objects to
repaint - but at some point we probably need to set the clipping region
- hence we probably DO need to tell GDK just what we're going to redraw.

(If we lie to GDK and tell it a big area is damaged - we can't then
separate the case of :

1. A little bit was damaged, like we thought - and we just redraw the objects we think need redrawing
2. As 1. above, but also the window system damaged a load of things - hence wants us to repaint the whole page.

Profiling is the way forward in general (for looking at where our
performance problems come from). I can't do much at the moment, since
sysprof doesn't work well on x86_64.

-- 
You received this bug notification because you are a member of gEDA Bug
Team, which is subscribed to gEDA.
https://bugs.launchpad.net/bugs/708388

Title:
  Select all and deselect actions are too slow

Status in GPL Electronic Design Automation tools:
  In Progress

Bug description:
  Select/deselect actions in gschem take up to 1 second on a moderately
  large schematic (900 lines in saved file).

  This is an annoyance and can hamper usability - the user can start
  repeating keystrokes or mouse clicks due to lack of feedback.




_______________________________________________
geda-bug mailing list
geda-bug@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-bug