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

Re: gEDA-user: speed of the gschem GUI

On Sat, 2011-01-22 at 06:21 +0100, Kai-Martin Knaak wrote:
> Hi.
> While working on a fairly large schematic I noticed that panning 
> in gschem is way less snappy than the same circuit rendered as PDF 
> in evince or kpdf. There is no benchmarking available. The ratio 
> seems like 10. While my schematic pans in gschem with 3 to 5 FPS, 
> it is definitely beyond 30 FPS in the PDF renderers. 
> Since both applications deal with lines and characters, I'd naively 
> expect similar performance. Or did I miss something?
> Is there any hope to speed up the gschem GUI?
> ---<)kaimartin(>---

Yes, cairo drawing looks fine and is easy to use, but is not very fast.
That is why Peter C. used native OpenGL for PCB.

Of course there are various strategies for increasing the speed. One is
to draw all to a larger buffer and copy only the visible part to the
window on the screen, this may make panning/scrolling very fast, but has
overhead in used memory consumption, and zooming will be slower.

A good strategy is always to have a bounding box for each element, and
to draw only elements when their bounding box overlaps with the visible
part on screen. So not rely on cairo's clipping.

One may consider buffering strategies, i.e. buffer each symbol, buffer
part of the visible screen. For me that worked not very fine.

You may try to do profiling cairo's drawing, that is what is suggested
from cairo developers. I still have to learn how to do that.

Or you may consider employing cairo's GL backend.

You may look at the cairo list, i.e


Please let us know if you have first results.

Best regards

Stefan Salewski

geda-user mailing list