kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #01135
Re: Erasing Tracks without XOR Remnants
-
To:
kicad-devel@xxxxxxxxxxxxxxx
-
From:
"Hans Henry von Tresckow" <hvontres@...>
-
Date:
Wed, 5 Mar 2008 08:16:31 -0800
-
In-reply-to:
<47CEC234.2050103@...>
On Wed, Mar 5, 2008 at 7:54 AM, Alain M. <alainm@...> wrote:
>
> Dick Hollenbeck escreveu:
>
> >>
> > This will be up to the implementor. I would not be in favor of
> > maintaining two strategies, it would clutter the code. A $200 computer
> > from Walmart is probably fast enough, but I am guessing.
>
> Hum..., I believe a pool of some kind would be interesting.
>
> IMHO there could be a limit, say "old" machines can be limited to 500MHz
> Pentium II. Unfortunatly, I don't have such machines for testing. Also
> this will need a compiled package, whick will probably mean windows
> :( :(
>
> >> PS: please inform when SVN has a good version for testing...
> > We are at step 1) below. Guesses are not as helpful as actual tests.
>
> What I mean is not a full version, but a "testable" version, ie. a SVN
> version that has few bugs, and new things like magnetic routing working
> ok.
>
> I already had trouble with buggy SVN versions. As kicad is a big
> project, figuring aout if the bug is in my environment or in the source
> can spend more time than possible at the moment.
>
> Alain
>
> >
> > Dick
> >
> >> Dick Hollenbeck escreveu:
> >>
> >>> I have checked in an experimental patch for deleting a track
> >>> *segment*. It is implemented in just 4 lines or so, and it makes it so
>
> >>> that when deleting a "track segment" there is a clean drawing of the
> >>> screen afterwards. The prior technique, a 1980's technique of XORing
> >>> of the screen might have made sense when computers were not as fast.
> >>> Now I'd like to know if this improves deleting segments (only
> segments,
> >>> not entire tracks) and does not lead to intolerable delays redrawing
> the
> >>> screen.
> >>>
> >>>
> >>> If this is ok, then we should look for a volunteer to go through all
> the
> >>> track deleting code and possibly module delete code and propagate this
>
> >>> idea elsewhere. The idea is this, instead of XORing the old item being
>
> >>> erased from the screen, you simply redraw the entire screen.
> >>>
> >>> I think this is a good project for a new developer to jump in and get
> >>> immediate impact into the project. So I would be looking for a
> >>> volunteer to do this, provided there is near unanimous agreement that
> >>> this change in strategy is a good thing. Note that the strategy I am
> >>> talking about does not include "dragging" objects on screen. In the
> >>> dragging cases, the XOR technique will probably remain best. However
> >>> at end of drag, the entire screen should probably be redrawn.
> >>>
> >>> See the lines at or near line 122 in file pcbnew/deltrack.cpp as the
> >>> sample. So to summarize:
> >>>
> >>> 1) Test this patch, make sure it is fast enough, cast your vote then.
> >>>
> >>> 2) Look for other areas to implement the idea (with modified code as
> >>> appropriate): delete entire track, delete entire net, delete module,
> >>> etc. No dragging.
> >>>
> >>> 3) Get a volunteer to do 2)
> >>>
> >>>
> >>> Thanks,
> >>>
> >>> Dick
>
>
>
Once the change is in SVN, I can try it on my collection of "elderly"
machines, a dual PII-333 and my old P1-233 Notebook :)
--
Henry von Tresckow (hvontres)
------=_Part_36115_15372897.1204733791848 Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
<br><br><div class="gmail_quote">On Wed, Mar 5, 2008 at 7:54 AM, Alain M. <<a href="mailto:alainm@...">alainm@...</a>> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div style="background-color: rgb(255, 255, 255);">
<div style="width: 655px;">
<div style="padding: 0pt 15px 0pt 0pt; width: 490px; float: left;">
<div>
<p><br>
Dick Hollenbeck escreveu:</p><div class="Ih2E3d"><br>
>> <br>
> This will be up to the implementor. I would not be in favor of <br>
> maintaining two strategies, it would clutter the code. A $200 computer <br>
> from Walmart is probably fast enough, but I am guessing.<br>
<br></div>
Hum..., I believe a pool of some kind would be interesting.<br>
<br>
IMHO there could be a limit, say "old" machines can be limited to 500MHz <br>
Pentium II. Unfortunatly, I don't have such machines for testing. Also <br>
this will need a compiled package, whick will probably mean windows<br>
:( :(<div class="Ih2E3d"><br>
<br>
>> PS: please inform when SVN has a good version for testing...<br>
> We are at step 1) below. Guesses are not as helpful as actual tests.<br>
<br></div>
What I mean is not a full version, but a "testable" version, ie. a SVN <br>
version that has few bugs, and new things like magnetic routing working ok.<br>
<br>
I already had trouble with buggy SVN versions. As kicad is a big <br>
project, figuring aout if the bug is in my environment or in the source <br>
can spend more time than possible at the moment.<br>
<br>
Alain<div><div></div><div class="Wj3C7c"><br>
> <br>
> Dick<br>
> <br>
>> Dick Hollenbeck escreveu:<br>
>> <br>
>>> I have checked in an experimental patch for deleting a track <br>
>>> *segment*. It is implemented in just 4 lines or so, and it makes it so <br>
>>> that when deleting a "track segment" there is a clean drawing of the <br>
>>> screen afterwards. The prior technique, a 1980's technique of XORing <br>
>>> of the screen might have made sense when computers were not as fast. <br>
>>> Now I'd like to know if this improves deleting segments (only segments, <br>
>>> not entire tracks) and does not lead to intolerable delays redrawing the <br>
>>> screen.<br>
>>><br>
>>><br>
>>> If this is ok, then we should look for a volunteer to go through all the <br>
>>> track deleting code and possibly module delete code and propagate this <br>
>>> idea elsewhere. The idea is this, instead of XORing the old item being <br>
>>> erased from the screen, you simply redraw the entire screen.<br>
>>><br>
>>> I think this is a good project for a new developer to jump in and get <br>
>>> immediate impact into the project. So I would be looking for a <br>
>>> volunteer to do this, provided there is near unanimous agreement that <br>
>>> this change in strategy is a good thing. Note that the strategy I am <br>
>>> talking about does not include "dragging" objects on screen. In the <br>
>>> dragging cases, the XOR technique will probably remain best. However <br>
>>> at end of drag, the entire screen should probably be redrawn.<br>
>>><br>
>>> See the lines at or near line 122 in file pcbnew/deltrack.cpp as the <br>
>>> sample. So to summarize:<br>
>>><br>
>>> 1) Test this patch, make sure it is fast enough, cast your vote then.<br>
>>><br>
>>> 2) Look for other areas to implement the idea (with modified code as <br>
>>> appropriate): delete entire track, delete entire net, delete module, <br>
>>> etc. No dragging.<br>
>>><br>
>>> 3) Get a volunteer to do 2)<br>
>>><br>
>>><br>
>>> Thanks,<br>
>>><br>
>>> Dick<br>
<br>
</div></div>
</div>
<span width="1" style="color: white;"></span>
</div>
</blockquote></div><br>Once the change is in SVN, I can try it on my collection of "elderly" machines, a dual PII-333 and my old P1-233 Notebook :)<br clear="all"><br>-- <br>Henry von Tresckow (hvontres)
------=_Part_36115_15372897.1204733791848--
References