[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: gEDA-user: New autorouter high effort mode



On Fri, Nov 26, 2010 at 11:30 PM, Peter Clifton <pcjc2@xxxxxxxxx> wrote:

> How to you get it to draw updates as the auto-router progresses?

Actually, I disable draw updates during each individual run of the
autorouter using the usual LIVEROUTEFLAG + HID_LIVE_DRAWING mechanism.
I only update the display when a superior routing result arrives - so
display updates are often minutes apart.  I update the display from my
high effort code in action.c by calling:

  DeleteRats (false /*all rats */ );
  AddAllRats (false /*all rats */ , NULL);
  ClearAndRedrawOutput ();	

I also added an extra parameter to the autorouters to conditonally
avoid refreshing the rats at the conclusion of each pass, as this
results in a display update.

> PCB's current auto-router does really evil things when you ask it to do
> that (drawing without the GUI necessarily being in an appropriate
> state).

Yes, but at least the autorouter provides an option to disable live
updates.  The trace optimiser and "rip up all autorouted racks" have
no option like this, and they run orders of magnitude slower because
of their live display updates.  I find myself constantly hiding my
copper and via layers - which allows them to run at full speed.

> This is something I'll really need to fix before pushing the PCB+GL
> code, as we hit _all sorts_ of nasty errors / crashes in various GL
> libraries if we try drawing whilst the GL context isn't set up.

It would be great to have a uniform mechanism for handling display
update disabling/enabling for all parts of the code that make lots of
fast changes to the layout (the autorouters, trace optimiser, rip up
all tracks, ...)

> What I'm saying - is that I'll probably end up breaking whatever method
> you use, but if we can cooperate, I'll try and do it in a way which
> isn't so hard to fix ;)

Great! I'm looking forward to using PCB+GL - particularly transparency :)


_______________________________________________
geda-user mailing list
geda-user@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user