← Back to team overview

kicad-developers team mailing list archive

Re: Zone filling & display speed improvements

 

Tom,

Could the filling progress be displayed in the lower statusbar instead of a
popup window?

On Tue, Dec 5, 2017 at 2:48 PM, Henner Zeller <h.zeller@xxxxxxx> wrote:

> On 4 December 2017 at 16:41, Tomasz Wlostowski
> <tomasz.wlostowski@xxxxxxx> wrote:
> > On 04/12/17 15:43, Henner Zeller wrote:
> >> On 4 December 2017 at 06:31, Tomasz Wlostowski
> >> <tomasz.wlostowski@xxxxxxx> wrote:
> >>> On 04/12/17 02:05, Henner Zeller wrote:
> >>>> On 2 December 2017 at 10:11, Henner Zeller <h.zeller@xxxxxxx> wrote:
> >>>>> On 1 December 2017 at 08:12, Tomasz Wlostowski
> >>>>> <tomasz.wlostowski@xxxxxxx> wrote:
> >>>>>> On 29/11/17 16:10, jp charras wrote:
> >>>>>>> I am using a few board in Kicad demos: interf_u, video,
> pic_programmer.
> >>>>>>>
> >>>>>>> Also, filled areas are no shown in OpenGL, but are shown in Cairo
> canvas.
> >>>>>>
> >>>>>> Hi all,
> >>>>>>
> >>>>>> The branch [1] contains a set of improvements in the zone filling
> >>>>>> algorithm. It's several times faster than in the current master
> branch.
> >>>>>>
> >>>>>> I'd like to merge it soon and move on to fixing P&S issues pending
> for
> >>>>>> the V5 - I'll greatly appreciate testing and feedback!
> >>>>>
> >>>>> Hi Tom,
> >>>>>
> >>>>> I'll compile your branch hopefully later this weekend for testing.
> >>>>> If you need another board for testing, I am currently having a board
> >>>>> that takes annoying several seconds to fill the zones in head KiCad,
> >>>>> which hence might be interesting test case:
> >>>
> >>> Hi Henner,
> >>>
> >>> What OS did you build for?
> >>
> >> This was on Debian testing on a x86_64 machine.
> >> g++ 7.2.0, Cairo: 1.15.8, boost 1.62.0
> >>
> >> -h
> >
> > Hi guys,
> >
> > Now it should work fine - the filling algorithm was not thread safe and
> > apparently wxProgressDialog can't be invoked from non-main thread.
> >
> > Check out the updated branch.
>
> Thanks Tom!
>
> Nice, the [tom-faster-zones-dec01] branch works well and very fast. I
> have not seen any crashes anymore.
>
> There is a leftover method mentioned in pcbnew/class_zone.h:
>   void RemoveInsulatedCopperIslands()
> .. which is not used/implemented so should be removed from the header.
>
> One thing I noticed: since it is sooo fast now, the progress-popup is
> actually quite annoying as it just briefly blinks up and vanishes
> again (at least for the board I was testing it with). Maybe it should
> only show up if the operation is still ongoing after a second and less
> than 50% is done at that time ?
>
> Another thought: if zone filling can be that fast, maybe we should
> only store zone outlines in the *.kicad_pcb file, not the
> (filled_polygon ...) that are now also stored. It is cheap to just
> recreate them when loading the file.
> Backround: This can save a lot of disk space as the filled polygons
> tend to create a lot of points and tend to completely change with tiny
> changes to other elements on the board, such as a moved via. This
> means that version control has to store huge changes every time and it
> is hard to see what actual changes are happening just looking at the
> diff (I like to inspect diffs before checking something in, and this
> makes it hard. Also it makes it hard to git merge kicad-pcbs).
> Downside is, that everyone loading a file has to pay the extra cost to
> create the zones (e.g. gerber generation). Maybe it could be a
> heuristic to not store the filled polygons if recreating it takes less
> than a second or so.
>
> Cheers,
>   Henner.
>
> >
> > Thanks!
> > Tom
> >
>
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help   : https://help.launchpad.net/ListHelp
>

Follow ups

References