← Back to team overview

kicad-developers team mailing list archive

Re: GerbView GAL

 

Hi Michael,

I think this lag on exit is due to the time the VIEW takes to deconstruct
itself when it has a lot of objects.  I can look at some routes for
optimizing this (it affects pcbnew as well).

Thank you for testing,
Jon

On Mon, Sep 11, 2017 at 7:23 PM, Michael Geselbracht <
mgeselbracht3@xxxxxxxxx> wrote:

> Hi,
> the drills are rendered correctly now, thank you. If i recall correctly
> this (the GAL Gerbview) is another milestone towards v5.
>
> A (very) minor issue remains though: Exiting Gerbview takes a few seconds
> if several layers are loaded.
> The time seems to related to the complexity of the layers. A simple
> silkscreen (B.Silk) or a big ground plane
> does not take long to exist from. But if F.Cu, B.Cu + F.Silk layers are
> loaded there is a noticeable delay.
>
>
>  - Michael
>
>
> On Tue, Sep 12, 2017 at 12:25 AM, Michael Geselbracht <
> mgeselbracht3@xxxxxxxxx> wrote:
>
>> Ok, first zip then gmail; I don't know if my last post has reached
>> anyone. I tried to send a proper file...
>>
>> The context menu is working now as expected.
>>
>>  - Michael
>>
>>
>> On Mon, Sep 11, 2017 at 11:56 PM, Michael Geselbracht <
>> mgeselbracht3@xxxxxxxxx> wrote:
>>
>>> Hi,
>>> the build process is working right now.
>>> In the meantime I recreated the zip file. Apparently I forgot the -r
>>> option... (beginner's error).
>>>
>>>  - Michael
>>>
>>>
>>> On Mon, Sep 11, 2017 at 11:48 PM, Jon Evans <jon@xxxxxxxxxxxxx> wrote:
>>>
>>>> Hi Michael,
>>>>
>>>> The first issue you raised with the layer manager context menu has now
>>>> been fixed I think; please check it if you have a chance.  Could you send
>>>> me a drill file (maybe off the list) that does not render for you?  I
>>>> checked a few of my drill files and they do render.
>>>>
>>>> Thanks,
>>>> Jon
>>>>
>>>> On Mon, Sep 11, 2017 at 5:16 PM, Jon Evans <jon@xxxxxxxxxxxxx> wrote:
>>>>
>>>>> HI Michael,
>>>>> Thanks for the report, I will look in to this -- I suspect I broke the
>>>>> drill display in a recent commit.
>>>>> But, your attachment did not come through for me, it just shows an
>>>>> empty zip file for me.
>>>>>
>>>>> Thanks,
>>>>> Jon
>>>>>
>>>>> On Mon, Sep 11, 2017 at 5:07 PM, Michael Geselbracht <
>>>>> mgeselbracht3@xxxxxxxxx> wrote:
>>>>>
>>>>>> Hi.
>>>>>> although I am not a maintainer I took the liberty to test the code.
>>>>>> I am not sure if this is appropriate but since I am using
>>>>>> kicad-master on a daily basis a merge into master would directly affect me.
>>>>>>
>>>>>> Just in case you do not already know there seem to be some issues
>>>>>> with the gerbview_gal branch:
>>>>>>
>>>>>> 1. Layer context menu entries "Hide all layers but active" and
>>>>>> "Always hide all layers but active" do not seem to work. All layers are
>>>>>> initially hidden and "always" is a NOP.
>>>>>> 2. NPTH drills are not displayed correctly or no drills are displayed
>>>>>> at all.
>>>>>>
>>>>>> I have attached a zip file with two examples. Test1 is a NPTH drill
>>>>>> file that is not displayed correctly. Test2 files are not displayed at all
>>>>>> (black screen).
>>>>>> There a two screenshots for test1.
>>>>>>
>>>>>> Tested under Linux with NVidia drivers.
>>>>>>
>>>>>>  - Michael
>>>>>>
>>>>>>
>>>>>> Application: gerbview
>>>>>> Version: (2017-09-09 revision 61b588353)-gerbview_gal, release build
>>>>>> Libraries:
>>>>>>     wxWidgets 3.0.2
>>>>>>     libcurl/7.47.0 OpenSSL/1.0.2g zlib/1.2.8 libidn/1.32 librtmp/2.3
>>>>>> Platform: Linux 4.10.0-33-generic x86_64, 64 bit, Little endian, wxGTK
>>>>>> Build Info:
>>>>>>     wxWidgets: 3.0.2 (wchar_t,wx containers,compatible with 2.8) GTK+
>>>>>> 2.24
>>>>>>     Boost: 1.58.0
>>>>>>     Curl: 7.47.0
>>>>>>     Compiler: GCC 5.4.0 with C++ ABI 1009
>>>>>>
>>>>>> Build settings:
>>>>>>     USE_WX_GRAPHICS_CONTEXT=OFF
>>>>>>     USE_WX_OVERLAY=OFF
>>>>>>     KICAD_SCRIPTING=ON
>>>>>>     KICAD_SCRIPTING_MODULES=ON
>>>>>>     KICAD_SCRIPTING_WXPYTHON=ON
>>>>>>     KICAD_SCRIPTING_ACTION_MENU=OFF
>>>>>>     BUILD_GITHUB_PLUGIN=ON
>>>>>>     KICAD_USE_OCE=ON
>>>>>>     KICAD_SPICE=ON
>>>>>>
>>>>>>
>>>>>> On Mon, Sep 11, 2017 at 9:26 PM, Jon Evans <jon@xxxxxxxxxxxxx> wrote:
>>>>>>
>>>>>>> Thanks JP.
>>>>>>> For #2, it is a matter of the difference between OpenGL and Cairo
>>>>>>> implementation of transparency and occlusion in our GAL.  Cairo also has
>>>>>>> the issue that each draw item is composited with transparency, even on a
>>>>>>> single layer. (maybe that is what is wanted with transparent items
>>>>>>> sometimes, but it is an inconsistency between OpenGL and Cairo that needs
>>>>>>> to be resolved).
>>>>>>>
>>>>>>> I think one solution could be to interpret negative items at the
>>>>>>> geometry creation stage rather than at the rendering stage.  That is, if
>>>>>>> you have a negative item on a layer, do a boolean subtraction from the
>>>>>>> existing positive geometry.  Then just pass the resulting geometry to the
>>>>>>> GAL to draw, rather than trying to add support to GAL for drawing
>>>>>>> "subtractively" like was done in wxDC.
>>>>>>>
>>>>>>> -Jon
>>>>>>>
>>>>>>> On Mon, Sep 11, 2017 at 2:44 PM, jp charras <jp.charras@xxxxxxxxxx>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Le 10/09/2017 à 02:42, Jon Evans a écrit :
>>>>>>>> > Hi all,
>>>>>>>> >
>>>>>>>> > I've finally had time in the last few weeks to make more progress
>>>>>>>> on GerbView GAL.
>>>>>>>> >
>>>>>>>> > While it's not perfect, I think it is far enough along to propose
>>>>>>>> merging into the main repo, so
>>>>>>>> > that more people can start testing it and hopefully we can fix
>>>>>>>> any bugs and perhaps get more people
>>>>>>>> > working on the remaining features.
>>>>>>>> >
>>>>>>>> > There are two big missing features:
>>>>>>>> > 1) Printing (still uses the wx canvas)
>>>>>>>> > 2) Negative images
>>>>>>>> >
>>>>>>>> > The first one probably involves porting the print engine from
>>>>>>>> wxDC to Cairo, and the second one
>>>>>>>> > probably can be implemented by doing transformations of the
>>>>>>>> negative geometry into positive geometry
>>>>>>>> > for rendering (negative images are implemented using the wxDC
>>>>>>>> compositing mode which GAL doesn't
>>>>>>>> > support right now).
>>>>>>>> >
>>>>>>>> > Other than those things, everything I have tried is working (all
>>>>>>>> of the test files in the source
>>>>>>>> > tree and a number of my own boards).
>>>>>>>> >
>>>>>>>> > I'd like some input from the maintainers about whether or not
>>>>>>>> this is in an acceptable state to
>>>>>>>> > merge into master, and if not, what changes I should make first.
>>>>>>>> If everything looks okay, I will
>>>>>>>> > format my branch into a series of patches and send to the list.
>>>>>>>> >
>>>>>>>> > You can view the source here:
>>>>>>>> > https://github.com/craftyjon/kicad/tree/gerbview_gal
>>>>>>>> > or clone
>>>>>>>> > git@xxxxxxxxxx:craftyjon/kicad.git
>>>>>>>> > and checkout gerbview_gal
>>>>>>>> >
>>>>>>>> > Best,
>>>>>>>> > Jon
>>>>>>>>
>>>>>>>> Thanks Jon for all this (great) work.
>>>>>>>> I tested you branch and it is very acceptable to me.
>>>>>>>> And I know maintaining a branch during a long time when it has a
>>>>>>>> lot of changes is really not easy.
>>>>>>>>
>>>>>>>> I saw a few (minor) issues, but nothing blocking. They can be fixed
>>>>>>>> later.
>>>>>>>>
>>>>>>>>
>>>>>>>> My remarks:
>>>>>>>>
>>>>>>>> * "1) Printing (still uses the wx canvas)":
>>>>>>>> This is also true for Pcbnew. this is not specific to Gerbview.
>>>>>>>>
>>>>>>>> * I noticed negative objects are well drawn in Opengl canvas, but
>>>>>>>> not in Cairo canvas.
>>>>>>>> Just an idea: Gerbv uses Cairo canvas, so perhaps having a look at
>>>>>>>> Gerbv could help.
>>>>>>>>
>>>>>>>> * "2) Negative images": I cannot not help you about that:
>>>>>>>> my knowledge of Opengl or Cairo is very basic.
>>>>>>>> Perhaps CERN guys can help you.
>>>>>>>>
>>>>>>>> --
>>>>>>>> Jean-Pierre CHARRAS
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> 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
>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>

References