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 <[email protected]> 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 _______________________________________________ Mailing list: https://launchpad.net/~kicad-developers Post to : [email protected] Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp

