Hmm.
Does Windows use the USE_WX_GRAPHICS_CONTEXT or is it just the same as Linux?

I guess its best to postpone merging that one then. 
The only quick hack I can imagine would be to #ifdef all the changes in drawing 
mode.
These are quite some spots, so this would really get ugly.

Maybe I have to reactivate my old Windows/Linux box to be able to play around a 
bit and to figure out what’s going on.
What I currently don’t understand is why it seems to work better in the current 
(but, in my opinion inconsistent) state where things are drawn in some spots 
with g_XorMode and in other spots with DEFAULT (=COPY) mode.
And, why it gets worse when making things more consistent (the spots I changed 
can’t be that wrong because otherwise things wouldn’t work on OSX, too).

But, maybe I just missed some additional non-OSX relevant spots that now might 
have to be changed also to clean everything up. There are so many different 
spots where g_XorMode, GR_XOR, and all the other drawing modes are used 
differently, so this is really hard to understand.

And, thinking of the bug report Nick mentioned (Bug #1381864) I almost think 
that even in current state something isn’t totally right (on non-OSX 
platforms), because the artifacts of that report look quite similar to what my 
changes seem to have brought up for you...


Regards,
Bernhard


On 16.11.2014, at 17:27, Wayne Stambaugh <[email protected]> wrote:

> On 11/16/2014 10:10 AM, Bernhard Stegmaier wrote:
>> Hi Wayne,
>> 
>> is Windows using WX_OVERLAY?
>> I didn’t think so… but I never looked for that.
> 
> No.
> 
>> 
>> The extra redraw events are only generated in case of WX_OVERLAY, which I 
>> thought is only used for OSX.
>> The only part of the changes that are not inside some WX_OVERLAY #ifdef's 
>> are the changes from XOR-mode to DEFAULT mode in drawing some things (rev. 
>> 5203 in my branch).
>> This, however, should have no side-effect otherwise I guess it wouldn’t have 
>> worked before?
>> 
>> Your screenshot very much looks like the one Nick mentioned recently:
>>  https://launchpadlibrarian.net/187456875/kicadBug.png
>> 
>> Are you sure that you see these artifacts only with my changes?
> 
> The comparison is between product branch r5288 and your branch r5206.
> 
>> 
>> 
>> Regards,
>> Bernhard
>> 
>> On 16.11.2014, at 15:08, Wayne Stambaugh <[email protected]> wrote:
>> 
>>> Hey Bernhard,
>>> 
>>> I just finished building and testing your changes.  Something has
>>> definitely changed in the rendering.  I get a lot of redraw artifacts
>>> (see screen shots) with your changes that I do not get with the current
>>> product branch.  It's possible that some extra refresh events are
>>> occurring that are causing the problem.  I still have to test this on
>>> Linux as well but I am reluctant to merge your changes until we can
>>> resolve the windows rendering issue.
>>> 
>>> Wayne
>>> 
>>> On 11/16/2014 7:43 AM, Bernhard Stegmaier wrote:
>>>> Hi Wayne,
>>>> 
>>>> yes, it was behind that changes.
>>>> Updated to 5288.
>>>> 
>>>> 
>>>> Thanks,
>>>> Bernhard
>>>> 
>>>>> On 16.11.2014, at 02:10, Wayne Stambaugh <[email protected]> wrote:
>>>>> 
>>>>> On 11/15/2014 11:13 AM, Bernhard Stegmaier wrote:
>>>>>> Hi all,
>>>>>> 
>>>>>> eeschema still has some not so bad but nevertheless annoying redraw bugs 
>>>>>> on OS X (using WX_OVERLAY), e.g., doing a rotate during a move.
>>>>>> 
>>>>>> In the branch
>>>>>> lp:~stegmaier/kicad/kicad-eeredraw
>>>>>> https://code.launchpad.net/~stegmaier/kicad/kicad-eeredraw
>>>>>> I reworked current WX_OVERLAY handling to fix this (this branch does not 
>>>>>> contain any other changes).
>>>>>> 
>>>>>> The general idea of the rework is that the drawing code wants to draw 
>>>>>> some item if the drawing mode is DEFAULT. If the drawing code wants to 
>>>>>> remove an item it uses XOR mode. This is nothing new, it is done that 
>>>>>> way at many places but not consistently in all spots.
>>>>>> For WX_OVERLAY if some item is to be removed a complete redraw is 
>>>>>> triggered (this might not be the most smart approach, but the easiest 
>>>>>> one and I did not see any real big performance impact).
>>>>>> 
>>>>>> Rework consists of 3 parts:
>>>>>> (1) Remove different WX_OVERLAY specific fixes/workaround being not 
>>>>>> consistently used (rev. 5202).
>>>>>> (2) Only when WX_OVERLAY is being used: push down the remove/repaint 
>>>>>> check to all draw methods (rev. 5201).
>>>>>> (3) Change drawing mode consistently to use DEFAULT for drawing and XOR 
>>>>>> for removing an item (rev. 5203).
>>>>>> 
>>>>>> I have tested the changes quite some while on OS X and did not notice 
>>>>>> any redraw artifacts any longer.
>>>>>> 
>>>>>> Since part (3) also affects other platforms, changes have to be tested 
>>>>>> not only on OS X. 
>>>>>> However, there should be no change in behavior on platform not using 
>>>>>> WX_OVERLAY (in theory).
>>>>>> 
>>>>>> It would be great if this could get merged to main branch.
>>>>>> 
>>>>>> 
>>>>>> Regards,
>>>>>> Bernhard
>>>>>> 
>>>>> 
>>>>> Bernhard,
>>>>> 
>>>>> Please sync this branch with the latest product branch so I can build
>>>>> and test it on windows.  I'm getting the Boost 1.57 avhttp build error
>>>>> so you must be a few revision behind.
>>>>> 
>>>>> Thanks,
>>>>> 
>>>>> Wayne
>>>>> 
>>>>> 
>>>>> _______________________________________________
>>>>> Mailing list: https://launchpad.net/~kicad-developers
>>>>> Post to     : [email protected]
>>>>> Unsubscribe : https://launchpad.net/~kicad-developers
>>>>> More help   : https://help.launchpad.net/ListHelp
>>>> 
>>>> 
>>> 
>>> <osx-render-fix-branch.png><product-branch.png>_______________________________________________
>>> Mailing list: https://launchpad.net/~kicad-developers
>>> Post to     : [email protected]
>>> Unsubscribe : https://launchpad.net/~kicad-developers
>>> More help   : https://help.launchpad.net/ListHelp
>> 
>> 
> 
> 
> 
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to     : [email protected]
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help   : https://help.launchpad.net/ListHelp


_______________________________________________
Mailing list: https://launchpad.net/~kicad-developers
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp

Reply via email to