ID: | 2633 |
From: | Gabriel Paubert <pa...@iram.es> |
Date: | Thu, 31 Jan 2019 10:12:12 +0100 |
Subject: | Re: [pcb-rnd] poly clipping performance optimization (was Re: Bug: |
in-reply-to: | 2630 from ge...@igor2.repo.hu |
On Thu, Jan 31, 2019 at 06:13:51AM +0100, gedau@igor2.repo.hu wrote: > > > On Wed, 30 Jan 2019, Gabriel Paubert wrote: > > >I have attached an example file, which is a small part of the board I'm > >currently designing. With the new brave mode, most operations are now > >reasonably fast. Without the brave mode, I selected P2 (bottom side), > >and simply cut (Ctrl-X) it. Well, I killed pcb-rnd after several minutes. > >In brave mode, it took maybe a couple of seconds. > > Thanks, great! I've tersted it here too (on a much slower mahcine), and I > feel the speedup too. > > Nice board, you are doing real fancy things. I think we should talk more > about what you are doing because there may be features I could add in > pcb-rnd to help your use cases. > > I really like that you have a courtyard layer in your subc! I definitely > want to include official support for that later on, especially with the > new drc. This helps a lot, because the file I sent you is only about 10% of the board. This board is far from finished but there are areas that are fairly densely populated on both sides. In this case, I carefully optimized one instance of vias and differential lines and than simply did a cut and paste for the copies. The messy part was to adapt a connector on an imperial grid to the rest of the board on which all parts with more than 4 pins are metric, while at the same time matching line lengths. > > The grid of vias thing, could that be a subc? It sounds like a convenient > idea to place the connector subc and then place the matching grid-of-vias > subc. Or do you need to edit it a lot, e.g. removing vias? It could be helpful, I have subc (for high frequency chips, where high means up to 20GHz) with lots of via in them. > > I see you also have a lot of differential pairs, I should sit down and do > the extended object infra so you could draw and edit(!) them as pair. In > short: when it's rendered, it'd look like 2 (or N) parallel thin traces, > but when you grab it for editing, it would look and behave like one thick > trace. In the most optimistic case rubber band, route radius, everything > working for the thick version. Then you end the thick version somewhere > and just connect random individual thin traces to the endpoints when doing > the reistor connections. That would be great, and I consider it more important than the grid of vias. > > The hard part is splitting the code: half of the code needs to deal with > the "as edited" version, other half with the "as rendered version". For > example export and connection find clearly needs the as-rendered, which > any buffer operation should use the "as edited". So it won't happen > overnight, but I think it has a great potential (and can solve more than > just pairs/buses). I understand. Up to now I have managed, but this board has essentially 8 copies of the same circuit on one side, 4 copies on the other side. Cut (or copy) and paste really helps, but sometimes it was painfully slow, on a core i7. > > >However an undo (Ctrl-Z) took forever (once again had to kill the > >process), and sometimes ended in a crash, very similar to the crash I > >got with your subc256.lht file. > > Tested this with your board on my slow machine, with the latest fix it > should be good. Indeed, I've not (yet) been able to find a performance issue after these changes. Thank you very much. Regards, Gabriel
Reply subtree:
2633 Re: [pcb-rnd] poly clipping performance optimization (was Re: Bug: from Gabriel Paubert <pa...@iram.es>