kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #41160
Re: 6.0 Zone filling differences
Le 21/06/2019 à 19:04, Jeff Young a écrit :
> I’ve pushed new bits. So far these just address the performance issues, not the anomalies.
>
> JP, could you give it another run and see if it improves things enough?
>
> Cheers,
> Jeff.
It improves seriously, but not enough for all boards:
The demo "video" calculation time is now 15 sec instead of 1 minute.
(1 sec with the current algo)
The demo "pic_programmer" calculation time is also near 15 sec but
the calculation time is just noticeable with the current algo (less than
0.5 sec).
The improvement for the demo "kit-dev-coldfire-xilinx_5213" is much better:
if I add a GND zone on the top side on all the board, the
refill takes 2 seconds instead of freezing.
>
>
>> On 21 Jun 2019, at 16:59, jp charras <jp.charras@xxxxxxxxxx> wrote:
>>
>> Le 21/06/2019 à 17:41, Jeff Young a écrit :
>>> Question for you polygon folks:
>>>
>>> The old algorithm used to add a lot of pads to a “holes” polygon, then did a Simplify() on it, and then a BooleanSubtract() from the filled area.
>>>
>>> The new code does a Simplify() and BooleanSubtract() per pad. Since the holes are all discrete in either case (ie: not overlapping or otherwise interacting with each other), I thought this would have similar performance, and it makes the code easier to understand. But perhaps this is the source of the performance issue?
>>>
>>> Cheers,
>>> Jeff.
>>
>> Operations between polygons use fast algorithms and AFAIK scan only once
>> the full set of segments, and calculation time is something like N log N
>> for N segments.
>> (But I am not a polygon specialist)
>>
>> If you subtract holes by pad to the zone, the cost is N log N x pad
>> count, with a value for N similar to the full segment count.
>>
>> Moreover Simplify() can be costly in calculation time (according to the
>> Clipper doc).
>>
>> I always saw (when I tried this kind of calculations) the calculation
>> time exploding, or at least much higher than a global calculation made
>> only once.
>>
>> --
>> Jean-Pierre CHARRAS
>
>
--
Jean-Pierre CHARRAS
References
-
6.0 Zone filling differences
From: Jeff Young, 2019-06-20
-
Re: 6.0 Zone filling differences
From: jp charras, 2019-06-20
-
Re: 6.0 Zone filling differences
From: Jeff Young, 2019-06-20
-
Re: 6.0 Zone filling differences
From: Reece Pollack, 2019-06-20
-
Re: 6.0 Zone filling differences
From: Jeff Young, 2019-06-20
-
Re: 6.0 Zone filling differences
From: Wayne Stambaugh, 2019-06-21
-
Re: 6.0 Zone filling differences
From: Seth Hillbrand, 2019-06-21
-
Re: 6.0 Zone filling differences
From: jp charras, 2019-06-21
-
Re: 6.0 Zone filling differences
From: Jeff Young, 2019-06-21
-
Re: 6.0 Zone filling differences
From: jp charras, 2019-06-21
-
Re: 6.0 Zone filling differences
From: Jeff Young, 2019-06-21