kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #30837
Re: Live zone filling
I don't think it's an either/or, I think you do both in an ideal world:
mark parts dirty, and regenerate in another thread. This will also allow
live recheck of DRC to be sped up by only rechecking objects that have been
marked dirty.
-Jon
On Sep 19, 2017 11:01, "Clemens Koller" <cko@xxxxxxxxx> wrote:
> On 2017-09-19 15:59, Jon Evans wrote:
> > What I want to investigate first is how difficult it would be to
> subdivide a zone into chunks that can be generated independently. If this
> is done, than the chunks can be done one after the other in a
> single-threaded world, or split up between threads if threading is
> possible. But, the key advantage is that if you drag a track, you can just
> mark the chunks that are near the action as dirty, and not need to
> regenerate the entire zone.
>
> Splitting the zones up in chunks sounds preferrable. Regenerating whole
> zone might not scale well with bigger designs.
> Instead of marking chunks as dirty + regen after dragging the track, it
> might be an idea to regenerate/recalculate them on the fly/in realtime in
> another thread... :-)
>
> Regards,
>
> Clemens
>
>
>
> >
> > -Jon
> >
> > On Tue, Sep 19, 2017 at 9:56 AM, Wayne Stambaugh <stambaughw@xxxxxxxxx
> <mailto:stambaughw@xxxxxxxxx>> wrote:
> >
> > On 9/19/2017 9:53 AM, Simon Küppers wrote:
> > > I agree with JP, however I see a chance for KiCad, where this
> feature
> > > might work better than in other EDA packages.
> > > I think the only way to get this feature to perform well is to use
> all
> > > available processor cores.
> > > Maybe it is enough to distribute all the zones to the processor
> cores.
> > > However i do not know if the KiCad sources allow this kind of
> > > multithreading.
> >
> > Multi-threading inside context switching. That could be interesting!
> >
> > >
> > > Best Regards
> > >
> > >
> > > Am 2017-09-19 15:26, schrieb Jon Evans:
> > >> Yes, I used Xpedition in a past life and one of my missions is to
> > >> bring some of its cool features to KiCad :-)
> > >>
> > >> JP, I will do some tests on more complex boards and look in to
> > >> possible solutions.
> > >> I think this is quite a big challenge but want to take it on,
> because
> > >> I think some of the underlying work needed will also be very
> useful
> > >> for other things (like live DRC checking, autorouting, etc)
> > >>
> > >> -Jon
> > >>
> > >>> On Tue, Sep 19, 2017 at 8:35 AM, Clemens Koller <cko@xxxxxxxxx
> <mailto:cko@xxxxxxxxx>>
> > >>> wrote:
> > >>>
> > >>>> Hello, Jon!
> > >>>>
> > >>>> Just for Reference: That's how Mentor Expedition is exposing
> > >>>> dynamic plane generation:
> > >>>> https://www.youtube.com/watch?v=n6TskayF1Oc <
> https://www.youtube.com/watch?v=n6TskayF1Oc> [1]
> > >>>>
> > >>>> I would be glad to test these things in Kicad...
> > >>>>
> > >>>> Regards,
> > >>>>
> > >>>> Clemens
> > >>>>
> > >>>> On 2017-09-19 02:18, Jon Evans wrote:
> > >>>>> Hi all,
> > >>>>>
> > >>>>> I've been wanting to take a look at live zone filling, as it's
> a
> > >>>> really useful feature that some professional EDA tools have. If
> > >>>> zones refill in real time as you move things around, it's easy
> to
> > >>>> make sure you leave enough space for your fill to succeed.
> > >>>>>
> > >>>>> I made a quick patch to pcbnew showing this after an
> interactive
> > >>>> trace move (see attached gif)
> > >>>>> For this board and my computer, refilling is fast enough that
> > >>>> this isn't a problem (I disabled the pop up window showing a
> > >>>> progress bar for the "refill all zones" command).
> > >>>>>
> > >>>>> Can anyone point me to (or send me) some really complicated
> > >>>> KiCad designs in terms of zone fills? Do people have designs
> that
> > >>>> take a while to fill even on recent computers?
> > >>>>>
> > >>>>> If I proposed this as a patch, I'd make it an option (disabled
> > >>>> by default) in case it slows down old computers, but I think if
> > >>>> zone filling for moderately complex boards still takes a while
> > >>>> even on fast modern computers, we should look at optimizing it
> so
> > >>>> that we can achieve real-time filling on modern computers.
> > >>>>>
> > >>>>> Thanks,
> > >>>>> Jon
> > >>>>>
> > >>>>>
> > >>>>
> > >>>>> _______________________________________________
> > >>>>> Mailing list: https://launchpad.net/~kicad-developers <
> https://launchpad.net/~kicad-developers> [2]
> > >>>>> Post to : kicad-developers@xxxxxxxxxxxxxxxxxxx <mailto:
> kicad-developers@xxxxxxxxxxxxxxxxxxx>
> > >>>>> Unsubscribe : https://launchpad.net/~kicad-developers <
> https://launchpad.net/~kicad-developers> [2]
> > >>>>> More help : https://help.launchpad.net/ListHelp <
> https://help.launchpad.net/ListHelp> [3]
> > >>>>>
> > >>
> > >>
> > >>
> > >> Links:
> > >> ------
> > >> [1] https://www.youtube.com/watch?v=n6TskayF1Oc <
> https://www.youtube.com/watch?v=n6TskayF1Oc>
> > >> [2] https://launchpad.net/~kicad-developers <
> https://launchpad.net/~kicad-developers>
> > >> [3] https://help.launchpad.net/ListHelp <
> https://help.launchpad.net/ListHelp>
> > >> _______________________________________________
> > >> Mailing list: https://launchpad.net/~kicad-developers <
> https://launchpad.net/~kicad-developers>
> > >> Post to : kicad-developers@xxxxxxxxxxxxxxxxxxx <mailto:
> kicad-developers@xxxxxxxxxxxxxxxxxxx>
> > >> Unsubscribe : https://launchpad.net/~kicad-developers <
> https://launchpad.net/~kicad-developers>
> > >> More help : https://help.launchpad.net/ListHelp <
> https://help.launchpad.net/ListHelp>
> > >
> > > _______________________________________________
> > > Mailing list: https://launchpad.net/~kicad-developers <
> https://launchpad.net/~kicad-developers>
> > > Post to : kicad-developers@xxxxxxxxxxxxxxxxxxx <mailto:
> kicad-developers@xxxxxxxxxxxxxxxxxxx>
> > > Unsubscribe : https://launchpad.net/~kicad-developers <
> https://launchpad.net/~kicad-developers>
> > > More help : https://help.launchpad.net/ListHelp <
> https://help.launchpad.net/ListHelp>
> >
> > _______________________________________________
> > Mailing list: https://launchpad.net/~kicad-developers <
> https://launchpad.net/~kicad-developers>
> > Post to : kicad-developers@xxxxxxxxxxxxxxxxxxx <mailto:
> kicad-developers@xxxxxxxxxxxxxxxxxxx>
> > Unsubscribe : https://launchpad.net/~kicad-developers <
> https://launchpad.net/~kicad-developers>
> > More help : https://help.launchpad.net/ListHelp <
> https://help.launchpad.net/ListHelp>
> >
> >
> >
> >
> > _______________________________________________
> > 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
> >
>
> _______________________________________________
> 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
>
References