← Back to team overview

kicad-developers team mailing list archive

Re: pcbnew very slow under some X11 machines


Is anyone else experiencing this? Any ideas how to fix/debug this?

Are you running composited desktop? If you turn composition off you should be ok... The problem lays in Kicad drawing code. It draws _everything_ in immediate mode, so no caching and the whole scene is drawn again on every zoom, etc. Now, under composited system, the draw operations usually block until screen refresh and that means unbearably slow drawing because of the incredible amount of drawing calls. One has to remember that Kicad roots are old and that includes the drawing code.

Rectifying the situation is a very big task and for example I don't have the necessarily skills for the job. On Linux the graphics stack is right now in such a flux that it is somewhat difficult to make wise decisions. Wx drawing tools are non accelerated still on Linux (GTK) and there is no help. If we start doing say, OpenGl port, that will be wasted work very soon when accelerated Cairo and Clutter takes off. Qt has probably some more optimized tools, but porting from Wx to Qt might be a bit too much to even consider. My current vote goes to implementing native Cairo context inside WxGC and using extensive caching of graphics primitives. GEDA has gone the Cairo way for schematics and OpenGl for layout.


Follow ups