kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #35074
Re: [PATCH] DRC: Add an optional mode to report all track errors
Stacking up the BOARD_COMMITs was most of the problem. Thanks for the tip,
Seth!
On Tue, Mar 20, 2018 at 9:52 AM, Jon Evans <jon@xxxxxxxxxxxxx> wrote:
> I will try Seth's performance idea to see if I can make a
> minimally-intrusive improvement there.
> I was proposing it as an option because (a) it changes the way DRC has
> always worked, and maybe some people don't like seeing a million
> overlapping errors if they have a track with many segments that all
> conflict with a pad, for example, and (b) because it is currently *really*
> slow, like 10x slower, on large designs.
>
> -Jon
>
> On Tue, Mar 20, 2018 at 9:46 AM, Jeff Young <jeff@xxxxxxxxx> wrote:
>
>> Do we really want a user preference for this? From first blush I'd think
>> it should report all errors all the time. (And the fact that it doesn’t
>> strikes me as enough of a bug to want it fixed for 5.0.)
>>
>> I think both Seth’s performance ideas are worth pursuing, but probably in
>> 6.0….
>>
>> Cheers,
>> Jeff.
>>
>>
>> On 20 Mar 2018, at 03:38, Seth Hillbrand <seth.hillbrand@xxxxxxxxx>
>> wrote:
>>
>> Hi Jon-
>>
>> I don't see anything inherently problematic here. Works as advertised
>> and seems to be minimally invasive.
>>
>> I suspect that your primary speed bump is the BOARD_COMMIT being called
>> on each segment error marker. You might get bang for the buck by
>> conditionally starting a BOARD_COMMIT at the beginning of DoTrackDRC in the
>> case where you are reporting all errors and commit.add the markers rather
>> than calling addMarkerToPcb(). Then push at the end of the function.
>> Also, do we need to create undo entries for the DRC markers? I suspect not
>> but I could be overlooking something.
>>
>> All that said, this is a useful addition and definitely speeds up error
>> resolution on problematic boards.
>>
>> -S
>>
>> 2018-03-19 19:58 GMT-07:00 Jon Evans <jon@xxxxxxxxxxxxx>:
>>
>>> I'd like some eyes on this before I push it, since it's a rather
>>> significant change.
>>>
>>> I have added a (disabled by default) option to report all DRC issues on
>>> each tested track. The current behavior is to stop at the first error,
>>> which means that the only way to get a full DRC report is to fix errors one
>>> by one.
>>>
>>> See: https://bugs.launchpad.net/kicad/+bug/1754442
>>>
>>> I tried to make this change as minimal as possible because I know the
>>> DRC code is a target for refactoring after 5.0. The performance of the
>>> current system is not great, and I can think of several optimizations that
>>> would help a lot, but I think they would touch too much to be a part of
>>> 5.0. Fortunately there is progress reporting on this step, so at least
>>> users will have feedback.
>>>
>>> -Jon
>>>
>>> _______________________________________________
>>> 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
>>
>>
>>
>
Follow ups
References