Stupid problem it was. The ROView object keeps a list of elements that are visible within the window. In the drawing loop, the view iterates over each elements and check if the element is visible before drawing it.
However this is completely unnecessary. But there are still some optimizations to be done Alexandre On Jun 15, 2013, at 2:36 PM, Stéphane Ducasse <[hidden email]> wrote: > Alex > > What was the problem? > > Stef > On Jun 14, 2013, at 6:30 PM, Alexandre Bergel <[hidden email]> wrote: > >> Hi Fabrizio, >> >> Can you try again? >> It should be significantly faster, even though we are still rendering elements that are not visible. >> >> Cheers, >> Alexandre >> >> >> On Jun 14, 2013, at 5:41 AM, Fabrizio Perin <[hidden email]> wrote: >> >>> Hi, >>> to have fast algorithms to layout the elements is very good, but a visualization that opens in 1 second but that I cannot touch is useless. I tried to open a name cloud visualization on a group with 21300 elements, the visulization take just few seconds to open up but than even to display a popup window with a mouse over an element take seconds. Not to mention that I cannot scroll the view or I have to wait minutes sometimes. >>> >>> The same visulization opened with a MOViewRenderer was nice and easy to interact with and to browse. >>> >>> So, my point is that the priority is absolutly to make roassal more scalable in term of interaction and not in term of initial rendering. >>> Cheers, >>> Fabrizio >>> >>> >>> 2013/6/8 Tudor Girba <[hidden email]> >>> n log(n) sounds quite good for this kind of algorithm. But, what does n mean? Is it the amount of nodes, or the amount of edges as well? >>> >>> Doru >>> >>> >>> On Jun 7, 2013, at 6:18 PM, Alexandre Bergel <[hidden email]> wrote: >>> >>>> Hi Mathieu, >>>> >>>> We will have a look at this asap >>>> >>>> Alexandre >>>> >>>> >>>> On Jun 7, 2013, at 9:19 AM, [hidden email] wrote: >>>> >>>>> Hi >>>>> >>>>> I've made some tests on the force based layout, and it seems it has really a complexity in nlog(n) (and we cannot do really better). >>>>> >>>>> Thus when you take 3 seconds to compute a layout with 100 nodes, then it's normal to take 40 seconds with 1000 nodes. >>>>> >>>>> >>>>> Regards >>>>> >>>>> Mathieu >>>>> >>>>> >>>>> _______________________________________________ >>>>> Moose-dev mailing list >>>>> [hidden email] >>>>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev >>>> >>>> -- >>>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: >>>> Alexandre Bergel http://www.bergel.eu >>>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. >>>> >>>> >>>> >>>> >>>> _______________________________________________ >>>> Moose-dev mailing list >>>> [hidden email] >>>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev >>> >>> -- >>> www.tudorgirba.com >>> >>> "We cannot reach the flow of things unless we let go." >>> >>> >>> >>> >>> _______________________________________________ >>> Moose-dev mailing list >>> [hidden email] >>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev >>> >>> _______________________________________________ >>> Moose-dev mailing list >>> [hidden email] >>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev >> >> -- >> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: >> Alexandre Bergel http://www.bergel.eu >> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. >> >> >> >> >> _______________________________________________ >> Moose-dev mailing list >> [hidden email] >> https://www.iam.unibe.ch/mailman/listinfo/moose-dev > > > _______________________________________________ > Moose-dev mailing list > [hidden email] > https://www.iam.unibe.ch/mailman/listinfo/moose-dev -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
In reply to this post by Fabrizio Perin-3
yes, let us know
Alexandre On Jun 16, 2013, at 6:08 AM, Fabrizio Perin <[hidden email]> wrote: > Hi Alex, > thanks really a lot, i didn't expect a so fast answer, mine was more a suggestion :) > > Anyway tomorrow at work I will be able to access again to the model I was using and I will let you know about the performances. > > Cheers, > Fabrizio > > > 2013/6/14 Alexandre Bergel <[hidden email]> > Hi Fabrizio, > > Can you try again? > It should be significantly faster, even though we are still rendering elements that are not visible. > > Cheers, > Alexandre > > > On Jun 14, 2013, at 5:41 AM, Fabrizio Perin <[hidden email]> wrote: > > > Hi, > > to have fast algorithms to layout the elements is very good, but a visualization that opens in 1 second but that I cannot touch is useless. I tried to open a name cloud visualization on a group with 21300 elements, the visulization take just few seconds to open up but than even to display a popup window with a mouse over an element take seconds. Not to mention that I cannot scroll the view or I have to wait minutes sometimes. > > > > The same visulization opened with a MOViewRenderer was nice and easy to interact with and to browse. > > > > So, my point is that the priority is absolutly to make roassal more scalable in term of interaction and not in term of initial rendering. > > Cheers, > > Fabrizio > > > > > > 2013/6/8 Tudor Girba <[hidden email]> > > n log(n) sounds quite good for this kind of algorithm. But, what does n mean? Is it the amount of nodes, or the amount of edges as well? > > > > Doru > > > > > > On Jun 7, 2013, at 6:18 PM, Alexandre Bergel <[hidden email]> wrote: > > > > > Hi Mathieu, > > > > > > We will have a look at this asap > > > > > > Alexandre > > > > > > > > > On Jun 7, 2013, at 9:19 AM, [hidden email] wrote: > > > > > >> Hi > > >> > > >> I've made some tests on the force based layout, and it seems it has really a complexity in nlog(n) (and we cannot do really better). > > >> > > >> Thus when you take 3 seconds to compute a layout with 100 nodes, then it's normal to take 40 seconds with 1000 nodes. > > >> > > >> > > >> Regards > > >> > > >> Mathieu > > >> > > >> > > >> _______________________________________________ > > >> Moose-dev mailing list > > >> [hidden email] > > >> https://www.iam.unibe.ch/mailman/listinfo/moose-dev > > > > > > -- > > > _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: > > > Alexandre Bergel http://www.bergel.eu > > > ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. > > > > > > > > > > > > > > > _______________________________________________ > > > Moose-dev mailing list > > > [hidden email] > > > https://www.iam.unibe.ch/mailman/listinfo/moose-dev > > > > -- > > www.tudorgirba.com > > > > "We cannot reach the flow of things unless we let go." > > > > > > > > > > _______________________________________________ > > Moose-dev mailing list > > [hidden email] > > https://www.iam.unibe.ch/mailman/listinfo/moose-dev > > > > _______________________________________________ > > Moose-dev mailing list > > [hidden email] > > https://www.iam.unibe.ch/mailman/listinfo/moose-dev > > -- > _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: > Alexandre Bergel http://www.bergel.eu > ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. > > > > > _______________________________________________ > Moose-dev mailing list > [hidden email] > https://www.iam.unibe.ch/mailman/listinfo/moose-dev > > _______________________________________________ > Moose-dev mailing list > [hidden email] > https://www.iam.unibe.ch/mailman/listinfo/moose-dev -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
In reply to this post by abergel
On Jun 16, 2013, at 5:12 PM, Alexandre Bergel <[hidden email]> wrote: > Stupid problem it was. The ROView object keeps a list of elements that are visible within the window. In the drawing loop, the view iterates over each elements and check if the element is visible before drawing it. > However this is completely unnecessary. why? because when you explain it it looks something smart to do :) > > But there are still some optimizations to be done > > Alexandre > > > On Jun 15, 2013, at 2:36 PM, Stéphane Ducasse <[hidden email]> wrote: > >> Alex >> >> What was the problem? >> >> Stef >> On Jun 14, 2013, at 6:30 PM, Alexandre Bergel <[hidden email]> wrote: >> >>> Hi Fabrizio, >>> >>> Can you try again? >>> It should be significantly faster, even though we are still rendering elements that are not visible. >>> >>> Cheers, >>> Alexandre >>> >>> >>> On Jun 14, 2013, at 5:41 AM, Fabrizio Perin <[hidden email]> wrote: >>> >>>> Hi, >>>> to have fast algorithms to layout the elements is very good, but a visualization that opens in 1 second but that I cannot touch is useless. I tried to open a name cloud visualization on a group with 21300 elements, the visulization take just few seconds to open up but than even to display a popup window with a mouse over an element take seconds. Not to mention that I cannot scroll the view or I have to wait minutes sometimes. >>>> >>>> The same visulization opened with a MOViewRenderer was nice and easy to interact with and to browse. >>>> >>>> So, my point is that the priority is absolutly to make roassal more scalable in term of interaction and not in term of initial rendering. >>>> Cheers, >>>> Fabrizio >>>> >>>> >>>> 2013/6/8 Tudor Girba <[hidden email]> >>>> n log(n) sounds quite good for this kind of algorithm. But, what does n mean? Is it the amount of nodes, or the amount of edges as well? >>>> >>>> Doru >>>> >>>> >>>> On Jun 7, 2013, at 6:18 PM, Alexandre Bergel <[hidden email]> wrote: >>>> >>>>> Hi Mathieu, >>>>> >>>>> We will have a look at this asap >>>>> >>>>> Alexandre >>>>> >>>>> >>>>> On Jun 7, 2013, at 9:19 AM, [hidden email] wrote: >>>>> >>>>>> Hi >>>>>> >>>>>> I've made some tests on the force based layout, and it seems it has really a complexity in nlog(n) (and we cannot do really better). >>>>>> >>>>>> Thus when you take 3 seconds to compute a layout with 100 nodes, then it's normal to take 40 seconds with 1000 nodes. >>>>>> >>>>>> >>>>>> Regards >>>>>> >>>>>> Mathieu >>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> Moose-dev mailing list >>>>>> [hidden email] >>>>>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev >>>>> >>>>> -- >>>>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: >>>>> Alexandre Bergel http://www.bergel.eu >>>>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. >>>>> >>>>> >>>>> >>>>> >>>>> _______________________________________________ >>>>> Moose-dev mailing list >>>>> [hidden email] >>>>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev >>>> >>>> -- >>>> www.tudorgirba.com >>>> >>>> "We cannot reach the flow of things unless we let go." >>>> >>>> >>>> >>>> >>>> _______________________________________________ >>>> Moose-dev mailing list >>>> [hidden email] >>>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev >>>> >>>> _______________________________________________ >>>> Moose-dev mailing list >>>> [hidden email] >>>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev >>> >>> -- >>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: >>> Alexandre Bergel http://www.bergel.eu >>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. >>> >>> >>> >>> >>> _______________________________________________ >>> Moose-dev mailing list >>> [hidden email] >>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev >> >> >> _______________________________________________ >> Moose-dev mailing list >> [hidden email] >> https://www.iam.unibe.ch/mailman/listinfo/moose-dev > > -- > _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: > Alexandre Bergel http://www.bergel.eu > ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. > > > > > _______________________________________________ > Moose-dev mailing list > [hidden email] > https://www.iam.unibe.ch/mailman/listinfo/moose-dev _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
Hi,
I just tried it out at now it is definetly faster. It is fast enough to be usable. The dragging is still a bit slow but that matter of seconds not minutes as before. Would it be possible to have a scrollable visualization instead of a draggable one?
Thanks really really a lot Alex.
Cheers,
Fabrizio
2013/6/16 Stéphane Ducasse <[hidden email]>
_______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
On Mon, Jun 17, 2013 at 8:28 AM, Fabrizio Perin <[hidden email]> wrote:
+1 :)
_______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
In reply to this post by Fabrizio Perin-3
I just tried it out at now it is definetly faster. It is fast enough to be usable. The dragging is still a bit slow but that matter of seconds not minutes as before. Would it be possible to have a scrollable visualization instead of a draggable one? Having scrollbars is on our todos for a long time. Juraj will implement one on some point. In the meantime, have you tried the minimap? This is pretty cool. Doit the following and press the key m: -=-=-=-=-=-=-=-=-=-=-=-=-=-=-= "Source code: ROMondrianExample>>miniMapOn:" "Preambule. It includes the initialization. " | view rawView | rawView := ROView new. view := ROMondrianViewBuilder view: rawView. "-------------" "-------------" view raw @ (ROMiniMap new targetView: view stack). "press m to open the view minimap " view shape rectangle width: [ :cls | cls numberOfVariables * 5 ]; height: #numberOfMethods; linearFillColor: #numberOfLinesOfCode within: Collection withAllSubclasses. view interaction popupText: [ :cls | cls name, (String with: Character cr), cls methods size printString, ' methods', (String with: Character cr), cls instVarNames size printString, ' variables', (String with: Character cr), cls numberOfLinesOfCode printString, ' LOC' ]. view interaction action: #browse. view nodes: Collection withAllSubclasses. view edgesFrom: #superclass. view treeLayout. "-------------" "-------------" "Below is the initiation of the menu and opening the visualization" ROEaselMorphic new populateMenuOn: view. view open -=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Alexandre
-- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
On Mon, Jun 17, 2013 at 3:28 PM, Alexandre Bergel <[hidden email]> wrote:
Yes it is. MiniMap is not working in Glamour-Roassal, so if someone can have a look, it'll be great.
_______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
Why is this not working?
Can you give a complete script that we can start from? Cheers, Alexandre On Jun 17, 2013, at 10:47 AM, Usman Bhatti <[hidden email]> wrote: > > > > On Mon, Jun 17, 2013 at 3:28 PM, Alexandre Bergel <[hidden email]> wrote: >> I just tried it out at now it is definetly faster. It is fast enough to be usable. The dragging is still a bit slow but that matter of seconds not minutes as before. Would it be possible to have a scrollable visualization instead of a draggable one? > > Having scrollbars is on our todos for a long time. Juraj will implement one on some point. > In the meantime, have you tried the minimap? This is pretty cool. > > Yes it is. MiniMap is not working in Glamour-Roassal, so if someone can have a look, it'll be great. > > > Doit the following and press the key m: > -=-=-=-=-=-=-=-=-=-=-=-=-=-=-= > "Source code: ROMondrianExample>>miniMapOn:" > "Preambule. It includes the initialization. " > | view rawView | > rawView := ROView new. > view := ROMondrianViewBuilder view: rawView. > "-------------" > "-------------" > > view raw @ (ROMiniMap new targetView: view stack). > > "press m to open the view minimap " > > view shape rectangle > width: [ :cls | cls numberOfVariables * 5 ]; > height: #numberOfMethods; > linearFillColor: #numberOfLinesOfCode within: Collection withAllSubclasses. > > view interaction popupText: [ :cls | > cls name, (String with: Character cr), > cls methods size printString, ' methods', (String with: Character cr), > cls instVarNames size printString, ' variables', (String with: Character cr), > cls numberOfLinesOfCode printString, ' LOC' ]. > view interaction action: #browse. > > view nodes: Collection withAllSubclasses. > view edgesFrom: #superclass. > view treeLayout. > > "-------------" > "-------------" > "Below is the initiation of the menu and opening the visualization" > ROEaselMorphic new populateMenuOn: view. > view open > -=-=-=-=-=-=-=-=-=-=-=-=-=-=-= > > <Screen Shot 2013-06-17 at 9.28.21 AM.png> > > Alexandre > > >> >> Cheers, >> Fabrizio >> >> 2013/6/16 Stéphane Ducasse <[hidden email]> >> >> On Jun 16, 2013, at 5:12 PM, Alexandre Bergel <[hidden email]> wrote: >> >> > Stupid problem it was. The ROView object keeps a list of elements that are visible within the window. In the drawing loop, the view iterates over each elements and check if the element is visible before drawing it. >> > However this is completely unnecessary. >> >> why? because when you explain it it looks something smart to do :) >> >> > >> > But there are still some optimizations to be done >> > >> > Alexandre >> > >> > >> > On Jun 15, 2013, at 2:36 PM, Stéphane Ducasse <[hidden email]> wrote: >> > >> >> Alex >> >> >> >> What was the problem? >> >> >> >> Stef >> >> On Jun 14, 2013, at 6:30 PM, Alexandre Bergel <[hidden email]> wrote: >> >> >> >>> Hi Fabrizio, >> >>> >> >>> Can you try again? >> >>> It should be significantly faster, even though we are still rendering elements that are not visible. >> >>> >> >>> Cheers, >> >>> Alexandre >> >>> >> >>> >> >>> On Jun 14, 2013, at 5:41 AM, Fabrizio Perin <[hidden email]> wrote: >> >>> >> >>>> Hi, >> >>>> to have fast algorithms to layout the elements is very good, but a visualization that opens in 1 second but that I cannot touch is useless. I tried to open a name cloud visualization on a group with 21300 elements, the visulization take just few seconds to open up but than even to display a popup window with a mouse over an element take seconds. Not to mention that I cannot scroll the view or I have to wait minutes sometimes. >> >>>> >> >>>> The same visulization opened with a MOViewRenderer was nice and easy to interact with and to browse. >> >>>> >> >>>> So, my point is that the priority is absolutly to make roassal more scalable in term of interaction and not in term of initial rendering. >> >>>> Cheers, >> >>>> Fabrizio >> >>>> >> >>>> >> >>>> 2013/6/8 Tudor Girba <[hidden email]> >> >>>> n log(n) sounds quite good for this kind of algorithm. But, what does n mean? Is it the amount of nodes, or the amount of edges as well? >> >>>> >> >>>> Doru >> >>>> >> >>>> >> >>>> On Jun 7, 2013, at 6:18 PM, Alexandre Bergel <[hidden email]> wrote: >> >>>> >> >>>>> Hi Mathieu, >> >>>>> >> >>>>> We will have a look at this asap >> >>>>> >> >>>>> Alexandre >> >>>>> >> >>>>> >> >>>>> On Jun 7, 2013, at 9:19 AM, [hidden email] wrote: >> >>>>> >> >>>>>> Hi >> >>>>>> >> >>>>>> I've made some tests on the force based layout, and it seems it has really a complexity in nlog(n) (and we cannot do really better). >> >>>>>> >> >>>>>> Thus when you take 3 seconds to compute a layout with 100 nodes, then it's normal to take 40 seconds with 1000 nodes. >> >>>>>> >> >>>>>> >> >>>>>> Regards >> >>>>>> >> >>>>>> Mathieu >> >>>>>> >> >>>>>> >> >>>>>> _______________________________________________ >> >>>>>> Moose-dev mailing list >> >>>>>> [hidden email] >> >>>>>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev >> >>>>> >> >>>>> -- >> >>>>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: >> >>>>> Alexandre Bergel http://www.bergel.eu >> >>>>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. >> >>>>> >> >>>>> >> >>>>> >> >>>>> >> >>>>> _______________________________________________ >> >>>>> Moose-dev mailing list >> >>>>> [hidden email] >> >>>>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev >> >>>> >> >>>> -- >> >>>> www.tudorgirba.com >> >>>> >> >>>> "We cannot reach the flow of things unless we let go." >> >>>> >> >>>> >> >>>> >> >>>> >> >>>> _______________________________________________ >> >>>> Moose-dev mailing list >> >>>> [hidden email] >> >>>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev >> >>>> >> >>>> _______________________________________________ >> >>>> Moose-dev mailing list >> >>>> [hidden email] >> >>>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev >> >>> >> >>> -- >> >>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: >> >>> Alexandre Bergel http://www.bergel.eu >> >>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. >> >>> >> >>> >> >>> >> >>> >> >>> _______________________________________________ >> >>> Moose-dev mailing list >> >>> [hidden email] >> >>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev >> >> >> >> >> >> _______________________________________________ >> >> Moose-dev mailing list >> >> [hidden email] >> >> https://www.iam.unibe.ch/mailman/listinfo/moose-dev >> > >> > -- >> > _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: >> > Alexandre Bergel http://www.bergel.eu >> > ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. >> > >> > >> > >> > >> > _______________________________________________ >> > Moose-dev mailing list >> > [hidden email] >> > https://www.iam.unibe.ch/mailman/listinfo/moose-dev >> >> >> _______________________________________________ >> Moose-dev mailing list >> [hidden email] >> https://www.iam.unibe.ch/mailman/listinfo/moose-dev >> >> _______________________________________________ >> Moose-dev mailing list >> [hidden email] >> https://www.iam.unibe.ch/mailman/listinfo/moose-dev > > -- > _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: > Alexandre Bergel http://www.bergel.eu > ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. > > > > > _______________________________________________ > Moose-dev mailing list > [hidden email] > https://www.iam.unibe.ch/mailman/listinfo/moose-dev > > > _______________________________________________ > Moose-dev mailing list > [hidden email] > https://www.iam.unibe.ch/mailman/listinfo/moose-dev -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
Alex, Probably its the way keyboard shortcuts are handled in Glamour. ========================================================== This is not working: | browser viewHack | browser := GLMTabulator new. browser column: #list; column: #drawing. browser transmit to: #list;
andShow: [ :a | a list ]. browser transmit to: #drawing; andShow: [ :a | a roassal painting: [ :moview :collection | moview raw @ (ROMiniMap new targetView: moview stack).
collection do: [ :x | moview view add: (ROElement spriteOn: x) + ROLabel + ROBox white ]. ROVerticalLineLayout on: moview view elements. viewHack := moview view. ] ]. browser openOn: #(1 2 3 4 5 6). ======================================================================
But this does: | browser viewHack | browser := GLMTabulator new. browser column: #drawing. browser transmit to: #drawing;
andShow: [ :a | a roassal painting: [ :moview :collection | moview raw @ (ROMiniMap new targetView: moview stack).
collection do: [ :x | moview view add: (ROElement spriteOn: x) + ROLabel + ROBox white ]. ROVerticalLineLayout on: moview view elements. viewHack := moview view. ] ]. browser openOn: #(1 2 3 4 5 6). So may be we need to invoke the mini map without keyboard shortcuts.
usman On Mon, Jun 17, 2013 at 5:23 PM, Alexandre Bergel <[hidden email]> wrote: Why is this not working? _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
Here is a solution:
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= | browser | browser := GLMTabulator new. browser column: #list; column: #drawing. browser transmit to: #list; andShow: [ :a | a list ]. browser transmit to: #drawing; andShow: [ :a | a roassal painting: [ :moview :collection | | m | m := ROMiniMap new. moview raw @ m. collection do: [ :x | moview view add: (ROElement spriteOn: x) + ROLabel + ROBox white ]. ROVerticalLineLayout on: moview view elements. moview addMenu: 'map' callBack: [ :viewStack | m openMiniMapFor: viewStack ]. ] ]. browser openOn: #(1 2 3 4 5 6). -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Probably not ideal, but it seems to do what you may need. Cheers, Alexandre On Jun 17, 2013, at 12:34 PM, Usman Bhatti <[hidden email]> wrote: > Alex, > Probably its the way keyboard shortcuts are handled in Glamour. > ========================================================== > This is not working: > > | browser viewHack | > browser := GLMTabulator new. > browser column: #list; column: #drawing. > > browser transmit > to: #list; > andShow: [ :a | a list ]. > browser transmit > to: #drawing; > andShow: [ :a | a roassal painting: > [ :moview :collection | > moview raw @ (ROMiniMap new targetView: moview stack). > collection do: [ :x | moview view add: (ROElement spriteOn: x) + ROLabel + ROBox white ]. > ROVerticalLineLayout on: moview view elements. > > viewHack := moview view. > ] ]. > > browser openOn: #(1 2 3 4 5 6). > > ====================================================================== > But this does: > | browser viewHack | > browser := GLMTabulator new. > browser column: #drawing. > > browser transmit > to: #drawing; > andShow: [ :a | a roassal painting: > [ :moview :collection | > moview raw @ (ROMiniMap new targetView: moview stack). > collection do: [ :x | moview view add: (ROElement spriteOn: x) + ROLabel + ROBox white ]. > ROVerticalLineLayout on: moview view elements. > > viewHack := moview view. > ] ]. > > browser openOn: #(1 2 3 4 5 6). > > So may be we need to invoke the mini map without keyboard shortcuts. > > usman > > > On Mon, Jun 17, 2013 at 5:23 PM, Alexandre Bergel <[hidden email]> wrote: > Why is this not working? > Can you give a complete script that we can start from? > > Cheers, > Alexandre > > > On Jun 17, 2013, at 10:47 AM, Usman Bhatti <[hidden email]> wrote: > > > > > > > > > On Mon, Jun 17, 2013 at 3:28 PM, Alexandre Bergel <[hidden email]> wrote: > >> I just tried it out at now it is definetly faster. It is fast enough to be usable. The dragging is still a bit slow but that matter of seconds not minutes as before. Would it be possible to have a scrollable visualization instead of a draggable one? > > > > Having scrollbars is on our todos for a long time. Juraj will implement one on some point. > > In the meantime, have you tried the minimap? This is pretty cool. > > > > Yes it is. MiniMap is not working in Glamour-Roassal, so if someone can have a look, it'll be great. > > > > > > Doit the following and press the key m: > > -=-=-=-=-=-=-=-=-=-=-=-=-=-=-= > > "Source code: ROMondrianExample>>miniMapOn:" > > "Preambule. It includes the initialization. " > > | view rawView | > > rawView := ROView new. > > view := ROMondrianViewBuilder view: rawView. > > "-------------" > > "-------------" > > > > view raw @ (ROMiniMap new targetView: view stack). > > > > "press m to open the view minimap " > > > > view shape rectangle > > width: [ :cls | cls numberOfVariables * 5 ]; > > height: #numberOfMethods; > > linearFillColor: #numberOfLinesOfCode within: Collection withAllSubclasses. > > > > view interaction popupText: [ :cls | > > cls name, (String with: Character cr), > > cls methods size printString, ' methods', (String with: Character cr), > > cls instVarNames size printString, ' variables', (String with: Character cr), > > cls numberOfLinesOfCode printString, ' LOC' ]. > > view interaction action: #browse. > > > > view nodes: Collection withAllSubclasses. > > view edgesFrom: #superclass. > > view treeLayout. > > > > "-------------" > > "-------------" > > "Below is the initiation of the menu and opening the visualization" > > ROEaselMorphic new populateMenuOn: view. > > view open > > -=-=-=-=-=-=-=-=-=-=-=-=-=-=-= > > > > <Screen Shot 2013-06-17 at 9.28.21 AM.png> > > > > Alexandre > > > > > >> > >> Cheers, > >> Fabrizio > >> > >> 2013/6/16 Stéphane Ducasse <[hidden email]> > >> > >> On Jun 16, 2013, at 5:12 PM, Alexandre Bergel <[hidden email]> wrote: > >> > >> > Stupid problem it was. The ROView object keeps a list of elements that are visible within the window. In the drawing loop, the view iterates over each elements and check if the element is visible before drawing it. > >> > However this is completely unnecessary. > >> > >> why? because when you explain it it looks something smart to do :) > >> > >> > > >> > But there are still some optimizations to be done > >> > > >> > Alexandre > >> > > >> > > >> > On Jun 15, 2013, at 2:36 PM, Stéphane Ducasse <[hidden email]> wrote: > >> > > >> >> Alex > >> >> > >> >> What was the problem? > >> >> > >> >> Stef > >> >> On Jun 14, 2013, at 6:30 PM, Alexandre Bergel <[hidden email]> wrote: > >> >> > >> >>> Hi Fabrizio, > >> >>> > >> >>> Can you try again? > >> >>> It should be significantly faster, even though we are still rendering elements that are not visible. > >> >>> > >> >>> Cheers, > >> >>> Alexandre > >> >>> > >> >>> > >> >>> On Jun 14, 2013, at 5:41 AM, Fabrizio Perin <[hidden email]> wrote: > >> >>> > >> >>>> Hi, > >> >>>> to have fast algorithms to layout the elements is very good, but a visualization that opens in 1 second but that I cannot touch is useless. I tried to open a name cloud visualization on a group with 21300 elements, the visulization take just few seconds to open up but than even to display a popup window with a mouse over an element take seconds. Not to mention that I cannot scroll the view or I have to wait minutes sometimes. > >> >>>> > >> >>>> The same visulization opened with a MOViewRenderer was nice and easy to interact with and to browse. > >> >>>> > >> >>>> So, my point is that the priority is absolutly to make roassal more scalable in term of interaction and not in term of initial rendering. > >> >>>> Cheers, > >> >>>> Fabrizio > >> >>>> > >> >>>> > >> >>>> 2013/6/8 Tudor Girba <[hidden email]> > >> >>>> n log(n) sounds quite good for this kind of algorithm. But, what does n mean? Is it the amount of nodes, or the amount of edges as well? > >> >>>> > >> >>>> Doru > >> >>>> > >> >>>> > >> >>>> On Jun 7, 2013, at 6:18 PM, Alexandre Bergel <[hidden email]> wrote: > >> >>>> > >> >>>>> Hi Mathieu, > >> >>>>> > >> >>>>> We will have a look at this asap > >> >>>>> > >> >>>>> Alexandre > >> >>>>> > >> >>>>> > >> >>>>> On Jun 7, 2013, at 9:19 AM, [hidden email] wrote: > >> >>>>> > >> >>>>>> Hi > >> >>>>>> > >> >>>>>> I've made some tests on the force based layout, and it seems it has really a complexity in nlog(n) (and we cannot do really better). > >> >>>>>> > >> >>>>>> Thus when you take 3 seconds to compute a layout with 100 nodes, then it's normal to take 40 seconds with 1000 nodes. > >> >>>>>> > >> >>>>>> > >> >>>>>> Regards > >> >>>>>> > >> >>>>>> Mathieu > >> >>>>>> > >> >>>>>> > >> >>>>>> _______________________________________________ > >> >>>>>> Moose-dev mailing list > >> >>>>>> [hidden email] > >> >>>>>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev > >> >>>>> > >> >>>>> -- > >> >>>>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: > >> >>>>> Alexandre Bergel http://www.bergel.eu > >> >>>>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. > >> >>>>> > >> >>>>> > >> >>>>> > >> >>>>> > >> >>>>> _______________________________________________ > >> >>>>> Moose-dev mailing list > >> >>>>> [hidden email] > >> >>>>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev > >> >>>> > >> >>>> -- > >> >>>> www.tudorgirba.com > >> >>>> > >> >>>> "We cannot reach the flow of things unless we let go." > >> >>>> > >> >>>> > >> >>>> > >> >>>> > >> >>>> _______________________________________________ > >> >>>> Moose-dev mailing list > >> >>>> [hidden email] > >> >>>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev > >> >>>> > >> >>>> _______________________________________________ > >> >>>> Moose-dev mailing list > >> >>>> [hidden email] > >> >>>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev > >> >>> > >> >>> -- > >> >>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: > >> >>> Alexandre Bergel http://www.bergel.eu > >> >>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. > >> >>> > >> >>> > >> >>> > >> >>> > >> >>> _______________________________________________ > >> >>> Moose-dev mailing list > >> >>> [hidden email] > >> >>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev > >> >> > >> >> > >> >> _______________________________________________ > >> >> Moose-dev mailing list > >> >> [hidden email] > >> >> https://www.iam.unibe.ch/mailman/listinfo/moose-dev > >> > > >> > -- > >> > _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: > >> > Alexandre Bergel http://www.bergel.eu > >> > ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. > >> > > >> > > >> > > >> > > >> > _______________________________________________ > >> > Moose-dev mailing list > >> > [hidden email] > >> > https://www.iam.unibe.ch/mailman/listinfo/moose-dev > >> > >> > >> _______________________________________________ > >> Moose-dev mailing list > >> [hidden email] > >> https://www.iam.unibe.ch/mailman/listinfo/moose-dev > >> > >> _______________________________________________ > >> Moose-dev mailing list > >> [hidden email] > >> https://www.iam.unibe.ch/mailman/listinfo/moose-dev > > > > -- > > _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: > > Alexandre Bergel http://www.bergel.eu > > ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. > > > > > > > > > > _______________________________________________ > > Moose-dev mailing list > > [hidden email] > > https://www.iam.unibe.ch/mailman/listinfo/moose-dev > > > > > > _______________________________________________ > > Moose-dev mailing list > > [hidden email] > > https://www.iam.unibe.ch/mailman/listinfo/moose-dev > > -- > _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: > Alexandre Bergel http://www.bergel.eu > ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. > > > > > _______________________________________________ > Moose-dev mailing list > [hidden email] > https://www.iam.unibe.ch/mailman/listinfo/moose-dev > > _______________________________________________ > Moose-dev mailing list > [hidden email] > https://www.iam.unibe.ch/mailman/listinfo/moose-dev -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
tx Alex. Its working ;). On Mon, Jun 17, 2013 at 9:44 PM, Alexandre Bergel <[hidden email]> wrote: Here is a solution: _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
Free forum by Nabble | Edit this page |