Roassal scalability

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
31 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Re: Roassal scalability

abergel
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
Reply | Threaded
Open this post in threaded view
|

Re: Roassal scalability

abergel
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
Reply | Threaded
Open this post in threaded view
|

Re: Roassal scalability

Stéphane Ducasse
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
Reply | Threaded
Open this post in threaded view
|

Re: Roassal scalability

Fabrizio Perin-3
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]>

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
Reply | Threaded
Open this post in threaded view
|

Re: Roassal scalability

Usman Bhatti
On Mon, Jun 17, 2013 at 8:28 AM, Fabrizio Perin <[hidden email]> wrote:
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?

+1 :)
 
 
Thanks really really a lot Alex.
 
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



_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: Roassal scalability

abergel
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


 
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
Reply | Threaded
Open this post in threaded view
|

Re: Roassal scalability

Usman Bhatti



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
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=


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
Reply | Threaded
Open this post in threaded view
|

Re: Roassal scalability

abergel
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
Reply | Threaded
Open this post in threaded view
|

Re: Roassal scalability

Usman Bhatti
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
Reply | Threaded
Open this post in threaded view
|

Re: Roassal scalability

abergel
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
Reply | Threaded
Open this post in threaded view
|

Re: Roassal scalability

Usman Bhatti
tx Alex.
Its working ;).


On Mon, Jun 17, 2013 at 9:44 PM, Alexandre Bergel <[hidden email]> wrote:
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


_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
12