← Back to team overview

kicad-developers team mailing list archive

Re: [PATCH] DRC: Add an optional mode to report all track errors

 

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