← Back to team overview

kicad-developers team mailing list archive

Re: Live zone filling

 

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
> 


Follow ups

References