← Back to team overview

kicad-developers team mailing list archive

Re: Latest info on copper zones using solid polygons without outline thickness.


On 09/06/2019 20:51, jp charras wrote:
> First, thanks Tom for your test.
> But are the drawing issues (calculation time and memory overflow) fixed
> by this change?
> They were the main reason of this change.

Yes, the VBO out-of-memory issue is gone now. I haven't measured yet how
much memory we saved but it's ~50% at least (given 6 vertices per
outline segment). Also, the connectivity calculation time got ~30%
better (31 seconds for the old, 20 s for the new one). Great job JP!.

> * Unless bugs, plot functions are updated and are compatible with both
> zone filling algos.

OK, didn't check it.
> * The file format keep trace of the zone filling algo that filled the
> zone (of course, because do not know how the zone was filled can create
> serious issues):
> the flag " (filled_areas_thickness no)" is added in the zone section
> when the fill algo is "do not use thick outline".
> It also ensure a "old" Pcbnew version cannot create broken Gerber files.

> * The accessor to know the fill algo used to fill the zone is:
>  bool GetFilledPolysUseThickness() const
> that returns false for the new algo.

> * I was not aware of the connectivity issue. Please, fix it.
> Thanks.
Fixed, thanks for the hint. I'll push my changes later in the evening.

> * About the zone setup dialog:
> For me, the choice is temporary, until we are confident with the new algo.
> Usually, when a new option is added, the default choice is: keep the old
> behavior.
> It avoid many bug reports.
> However make the new algo the default could be the best way to test it...
> I am not thrilled by messages like "Use legacy ..." because only core
> developpers know the difference between "legacy" and "current" or "new"
> about algorithms.

OK, in this case I wouldn't use the term 'higher quality', it might be
misleading to many users and make them think the new algorithm is
somewhat inferior to the old one.