Hello,
I have been looking a bit for the place where we set the canvas to use in Mondrian, but I didn't find. I know that all shapes are drawn on a FormCanvas, but there is no references to FormCanvas in mondrian classes.
I just saw that there is a 'defaultCanvasClass' method in the class Form for example, so maybe such a method is use somewhere in the code. Does somoene know the way to set a new Canvas to Mondrian ?
_______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
Hi Cyrille,
The canvas is defined in MOCanvas. This canvas is embedded in MOBrowser and MOEasel, which in their turn create a StandardWindow that holds the MOCanvas. Just to inform the others, Cyrille is experimenting with adding the Athens canvas (which provides an abstraction over Cairo, Balloon and possibly others) behind Mondrian. Cheers, Doru On 15 Jun 2010, at 11:42, Cyrille Delaunay wrote: > Hello, > > I have been looking a bit for the place where we set the canvas to > use in Mondrian, but I didn't find. > I know that all shapes are drawn on a FormCanvas, but there is no > references to FormCanvas in mondrian classes. > I just saw that there is a 'defaultCanvasClass' method in the class > Form for example, so maybe such a method is use somewhere in the code. > Does somoene know the way to set a new Canvas to Mondrian ? > > _______________________________________________ > Moose-dev mailing list > [hidden email] > https://www.iam.unibe.ch/mailman/listinfo/moose-dev -- www.tudorgirba.com "Presenting is storytelling." _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
now something important is that mondrian is barely usable for us: DSM, package blueprint, torch are all slow.
I would really like to see some pragmatic solutions to be found. Like not computing all the blocks all over the time. Stef On Jun 15, 2010, at 12:43 PM, Tudor Girba wrote: > Hi Cyrille, > > The canvas is defined in MOCanvas. This canvas is embedded in MOBrowser and MOEasel, which in their turn create a StandardWindow that holds the MOCanvas. > > Just to inform the others, Cyrille is experimenting with adding the Athens canvas (which provides an abstraction over Cairo, Balloon and possibly others) behind Mondrian. > > Cheers, > Doru > > > On 15 Jun 2010, at 11:42, Cyrille Delaunay wrote: > >> Hello, >> >> I have been looking a bit for the place where we set the canvas to use in Mondrian, but I didn't find. >> I know that all shapes are drawn on a FormCanvas, but there is no references to FormCanvas in mondrian classes. >> I just saw that there is a 'defaultCanvasClass' method in the class Form for example, so maybe such a method is use somewhere in the code. >> Does somoene know the way to set a new Canvas to Mondrian ? >> >> _______________________________________________ >> Moose-dev mailing list >> [hidden email] >> https://www.iam.unibe.ch/mailman/listinfo/moose-dev > > -- > www.tudorgirba.com > > "Presenting is storytelling." > > _______________________________________________ > 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,
> now something important is that mondrian is barely usable for us: > DSM, package blueprint, torch are all slow. > I would really like to see some pragmatic solutions to be found. > Like not computing all the blocks all over the time. This is what we are already discussing, but until now it is not clear what exactly generates the slowness. I believe the problem comes from the edges, but we have to take a more systematic look. The other thing that has an impact is that right now Mondrian computes everything lazily, so even if the visualization appears, scrolling might still be problematic the first time you go through the entire picture. So, testing should also take this into account. Doru > Stef > > On Jun 15, 2010, at 12:43 PM, Tudor Girba wrote: > >> Hi Cyrille, >> >> The canvas is defined in MOCanvas. This canvas is embedded in >> MOBrowser and MOEasel, which in their turn create a StandardWindow >> that holds the MOCanvas. >> >> Just to inform the others, Cyrille is experimenting with adding the >> Athens canvas (which provides an abstraction over Cairo, Balloon >> and possibly others) behind Mondrian. >> >> Cheers, >> Doru >> >> >> On 15 Jun 2010, at 11:42, Cyrille Delaunay wrote: >> >>> Hello, >>> >>> I have been looking a bit for the place where we set the canvas to >>> use in Mondrian, but I didn't find. >>> I know that all shapes are drawn on a FormCanvas, but there is no >>> references to FormCanvas in mondrian classes. >>> I just saw that there is a 'defaultCanvasClass' method in the >>> class Form for example, so maybe such a method is use somewhere in >>> the code. >>> Does somoene know the way to set a new Canvas to Mondrian ? >>> >>> _______________________________________________ >>> Moose-dev mailing list >>> [hidden email] >>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev >> >> -- >> www.tudorgirba.com >> >> "Presenting is storytelling." >> >> _______________________________________________ >> 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 -- www.tudorgirba.com "There are no old things, there are only old ways of looking at them." _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
When I look to MOCanvas, I don't find any initialization of the concrete Canvas used .
There is only a Method MOCanvas >> drawOn:, that then let a MORoot object call MORoot>>displayOn:, that then dispatch the work to each 'shape-class'.
But I still don't find where the 'concrete' canvas is used (maybe I should wear glasses :))
2010/6/15 Tudor Girba <[hidden email]> Hi, _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
In reply to this post by Tudor Girba
One more thing.
It can also be that when you have expensive traversals in your blocks, you can easily get to quadratic algorithms. For example, suppose you have something like this: view shape height: [:each | (classes select: [:target | target invokes: each]) size]. view nodes: classes In this case, for each class, you would traverse all classes again, so N^2. That is why we need canonical examples first that expose complex graphs. And those people that have a direct interest in getting Mondrian fast would be good to help in this direction, because it can get difficult to understand the particularities of each model :) Cheers, Doru On 15 Jun 2010, at 13:13, Tudor Girba wrote: > Hi, > >> now something important is that mondrian is barely usable for us: >> DSM, package blueprint, torch are all slow. >> I would really like to see some pragmatic solutions to be found. >> Like not computing all the blocks all over the time. > > This is what we are already discussing, but until now it is not > clear what exactly generates the slowness. I believe the problem > comes from the edges, but we have to take a more systematic look. > > The other thing that has an impact is that right now Mondrian > computes everything lazily, so even if the visualization appears, > scrolling might still be problematic the first time you go through > the entire picture. So, testing should also take this into account. > > Doru > >> Stef >> >> On Jun 15, 2010, at 12:43 PM, Tudor Girba wrote: >> >>> Hi Cyrille, >>> >>> The canvas is defined in MOCanvas. This canvas is embedded in >>> MOBrowser and MOEasel, which in their turn create a StandardWindow >>> that holds the MOCanvas. >>> >>> Just to inform the others, Cyrille is experimenting with adding >>> the Athens canvas (which provides an abstraction over Cairo, >>> Balloon and possibly others) behind Mondrian. >>> >>> Cheers, >>> Doru >>> >>> >>> On 15 Jun 2010, at 11:42, Cyrille Delaunay wrote: >>> >>>> Hello, >>>> >>>> I have been looking a bit for the place where we set the canvas >>>> to use in Mondrian, but I didn't find. >>>> I know that all shapes are drawn on a FormCanvas, but there is no >>>> references to FormCanvas in mondrian classes. >>>> I just saw that there is a 'defaultCanvasClass' method in the >>>> class Form for example, so maybe such a method is use somewhere >>>> in the code. >>>> Does somoene know the way to set a new Canvas to Mondrian ? >>>> >>>> _______________________________________________ >>>> Moose-dev mailing list >>>> [hidden email] >>>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev >>> >>> -- >>> www.tudorgirba.com >>> >>> "Presenting is storytelling." >>> >>> _______________________________________________ >>> 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 > > -- > www.tudorgirba.com > > "There are no old things, there are only old ways of looking at them." > > > -- www.tudorgirba.com "In a world where everything is moving ever faster, one might have better chances to win by moving slower." _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
In reply to this post by cdelaunay
Hi,
MOCanvas is the canvas, it is a subclass of Morph :). Doru On 15 Jun 2010, at 13:23, Cyrille Delaunay wrote: > When I look to MOCanvas, I don't find any initialization of the > concrete Canvas used . > There is only a Method MOCanvas >> drawOn:, that then let a MORoot > object call MORoot>>displayOn:, that then dispatch the work to each > 'shape-class'. > But I still don't find where the 'concrete' canvas is used (maybe I > should wear glasses :)) > > 2010/6/15 Tudor Girba <[hidden email]> > Hi, > > > now something important is that mondrian is barely usable for us: > DSM, package blueprint, torch are all slow. > I would really like to see some pragmatic solutions to be found. > Like not computing all the blocks all over the time. > > This is what we are already discussing, but until now it is not > clear what exactly generates the slowness. I believe the problem > comes from the edges, but we have to take a more systematic look. > > The other thing that has an impact is that right now Mondrian > computes everything lazily, so even if the visualization appears, > scrolling might still be problematic the first time you go through > the entire picture. So, testing should also take this into account. > > Doru > > > Stef > > On Jun 15, 2010, at 12:43 PM, Tudor Girba wrote: > > Hi Cyrille, > > The canvas is defined in MOCanvas. This canvas is embedded in > MOBrowser and MOEasel, which in their turn create a StandardWindow > that holds the MOCanvas. > > Just to inform the others, Cyrille is experimenting with adding the > Athens canvas (which provides an abstraction over Cairo, Balloon and > possibly others) behind Mondrian. > > Cheers, > Doru > > > On 15 Jun 2010, at 11:42, Cyrille Delaunay wrote: > > Hello, > > I have been looking a bit for the place where we set the canvas to > use in Mondrian, but I didn't find. > I know that all shapes are drawn on a FormCanvas, but there is no > references to FormCanvas in mondrian classes. > I just saw that there is a 'defaultCanvasClass' method in the class > Form for example, so maybe such a method is use somewhere in the code. > Does somoene know the way to set a new Canvas to Mondrian ? > > _______________________________________________ > Moose-dev mailing list > [hidden email] > https://www.iam.unibe.ch/mailman/listinfo/moose-dev > > -- > www.tudorgirba.com > > "Presenting is storytelling." > > _______________________________________________ > 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 > > -- > www.tudorgirba.com > > "There are no old things, there are only old ways of looking at them." > > > > > _______________________________________________ > 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 -- www.tudorgirba.com "One cannot do more than one can do." _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
In reply to this post by Tudor Girba
I am also sure the problem comes from the edges (even thought i have not those quadratic searches).
But yes, you are right... we need cases that expose the problem... With the latest changes in Mondrian, Torch has a noticeable speed improvement (except one). I will perform tests and will let you know. Veronica On 15 Jun 2010, at 13:25, Tudor Girba wrote: > One more thing. > > It can also be that when you have expensive traversals in your blocks, you can easily get to quadratic algorithms. > > For example, suppose you have something like this: > > view shape > height: [:each | (classes select: [:target | target invokes: each]) size]. > view nodes: classes > > In this case, for each class, you would traverse all classes again, so N^2. > > That is why we need canonical examples first that expose complex graphs. And those people that have a direct interest in getting Mondrian fast would be good to help in this direction, because it can get difficult to understand the particularities of each model :) > > Cheers, > Doru > > > On 15 Jun 2010, at 13:13, Tudor Girba wrote: > >> Hi, >> >>> now something important is that mondrian is barely usable for us: DSM, package blueprint, torch are all slow. >>> I would really like to see some pragmatic solutions to be found. Like not computing all the blocks all over the time. >> >> This is what we are already discussing, but until now it is not clear what exactly generates the slowness. I believe the problem comes from the edges, but we have to take a more systematic look. >> >> The other thing that has an impact is that right now Mondrian computes everything lazily, so even if the visualization appears, scrolling might still be problematic the first time you go through the entire picture. So, testing should also take this into account. >> >> Doru >> >>> Stef >>> >>> On Jun 15, 2010, at 12:43 PM, Tudor Girba wrote: >>> >>>> Hi Cyrille, >>>> >>>> The canvas is defined in MOCanvas. This canvas is embedded in MOBrowser and MOEasel, which in their turn create a StandardWindow that holds the MOCanvas. >>>> >>>> Just to inform the others, Cyrille is experimenting with adding the Athens canvas (which provides an abstraction over Cairo, Balloon and possibly others) behind Mondrian. >>>> >>>> Cheers, >>>> Doru >>>> >>>> >>>> On 15 Jun 2010, at 11:42, Cyrille Delaunay wrote: >>>> >>>>> Hello, >>>>> >>>>> I have been looking a bit for the place where we set the canvas to use in Mondrian, but I didn't find. >>>>> I know that all shapes are drawn on a FormCanvas, but there is no references to FormCanvas in mondrian classes. >>>>> I just saw that there is a 'defaultCanvasClass' method in the class Form for example, so maybe such a method is use somewhere in the code. >>>>> Does somoene know the way to set a new Canvas to Mondrian ? >>>>> >>>>> _______________________________________________ >>>>> Moose-dev mailing list >>>>> [hidden email] >>>>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev >>>> >>>> -- >>>> www.tudorgirba.com >>>> >>>> "Presenting is storytelling." >>>> >>>> _______________________________________________ >>>> 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 >> >> -- >> www.tudorgirba.com >> >> "There are no old things, there are only old ways of looking at them." >> >> >> > > -- > www.tudorgirba.com > > "In a world where everything is moving ever faster, > one might have better chances to win by moving slower." > > > > _______________________________________________ > 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 |
In reply to this post by Tudor Girba
Ok.
But, first, I don't why MOCanvas is a subclass of Morph (and not a subclass of Canvas) ? MOCanvas doesn't define any 'drawRectangle:' or 'drawSomething' methods, like usual canvas does.
By setting some halt in the 'shape-classes' (MORectangleShape, MOEllipseShape), I saw that the method display:on: is called with a 'FormCanvas' as parameter. So somewhere in the code, somoene is telling to MOCanvas: drawOn: aFormCanvas. But it seems to not be in Mondrian
2010/6/15 Tudor Girba <[hidden email]> Hi, _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
Hi Cyrille,
Ok, I think I see where the confusion comes from. Every Morph is passed the actual Canvas in the drawOn: method. This is part of the rendering loop. What you want is to pass the AthensCanvas into that drawOn: method. Does this help? Doru On 15 Jun 2010, at 13:50, Cyrille Delaunay wrote: > Ok. > But, first, I don't why MOCanvas is a subclass of Morph (and not a > subclass of Canvas) ? > MOCanvas doesn't define any 'drawRectangle:' or 'drawSomething' > methods, like usual canvas does. > By setting some halt in the 'shape-classes' (MORectangleShape, > MOEllipseShape), I saw that the method display:on: is called with a > 'FormCanvas' as parameter. > So somewhere in the code, somoene is telling to MOCanvas: drawOn: > aFormCanvas. But it seems to not be in Mondrian > > > > 2010/6/15 Tudor Girba <[hidden email]> > Hi, > > MOCanvas is the canvas, it is a subclass of Morph :). > > Doru > > > > On 15 Jun 2010, at 13:23, Cyrille Delaunay wrote: > > When I look to MOCanvas, I don't find any initialization of the > concrete Canvas used . > There is only a Method MOCanvas >> drawOn:, that then let a MORoot > object call MORoot>>displayOn:, that then dispatch the work to each > 'shape-class'. > But I still don't find where the 'concrete' canvas is used (maybe I > should wear glasses :)) > > 2010/6/15 Tudor Girba <[hidden email]> > Hi, > > > now something important is that mondrian is barely usable for us: > DSM, package blueprint, torch are all slow. > I would really like to see some pragmatic solutions to be found. > Like not computing all the blocks all over the time. > > This is what we are already discussing, but until now it is not > clear what exactly generates the slowness. I believe the problem > comes from the edges, but we have to take a more systematic look. > > The other thing that has an impact is that right now Mondrian > computes everything lazily, so even if the visualization appears, > scrolling might still be problematic the first time you go through > the entire picture. So, testing should also take this into account. > > Doru > > > Stef > > On Jun 15, 2010, at 12:43 PM, Tudor Girba wrote: > > Hi Cyrille, > > The canvas is defined in MOCanvas. This canvas is embedded in > MOBrowser and MOEasel, which in their turn create a StandardWindow > that holds the MOCanvas. > > Just to inform the others, Cyrille is experimenting with adding the > Athens canvas (which provides an abstraction over Cairo, Balloon and > possibly others) behind Mondrian. > > Cheers, > Doru > > > On 15 Jun 2010, at 11:42, Cyrille Delaunay wrote: > > Hello, > > I have been looking a bit for the place where we set the canvas to > use in Mondrian, but I didn't find. > I know that all shapes are drawn on a FormCanvas, but there is no > references to FormCanvas in mondrian classes. > I just saw that there is a 'defaultCanvasClass' method in the class > Form for example, so maybe such a method is use somewhere in the code. > Does somoene know the way to set a new Canvas to Mondrian ? > > _______________________________________________ > Moose-dev mailing list > [hidden email] > https://www.iam.unibe.ch/mailman/listinfo/moose-dev > > -- > www.tudorgirba.com > > "Presenting is storytelling." > > _______________________________________________ > 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 > > -- > www.tudorgirba.com > > "There are no old things, there are only old ways of looking at them." > > > > > _______________________________________________ > 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 > > -- > www.tudorgirba.com > > "One cannot do more than one can do." > > > > > _______________________________________________ > 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 -- www.tudorgirba.com "Reasonable is what we are accustomed with." _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
In reply to this post by Tudor Girba
Doru
Jannik said it several times - check the list. So do not tell him that he did not want to help. Stef On Jun 15, 2010, at 1:25 PM, Tudor Girba wrote: > One more thing. > > It can also be that when you have expensive traversals in your blocks, you can easily get to quadratic algorithms. > > For example, suppose you have something like this: > > view shape > height: [:each | (classes select: [:target | target invokes: each]) size]. > view nodes: classes > > In this case, for each class, you would traverse all classes again, so N^2. > > That is why we need canonical examples first that expose complex graphs. And those people that have a direct interest in getting Mondrian fast would be good to help in this direction, because it can get difficult to understand the particularities of each model :) > > Cheers, > Doru > > > On 15 Jun 2010, at 13:13, Tudor Girba wrote: > >> Hi, >> >>> now something important is that mondrian is barely usable for us: DSM, package blueprint, torch are all slow. >>> I would really like to see some pragmatic solutions to be found. Like not computing all the blocks all over the time. >> >> This is what we are already discussing, but until now it is not clear what exactly generates the slowness. I believe the problem comes from the edges, but we have to take a more systematic look. >> >> The other thing that has an impact is that right now Mondrian computes everything lazily, so even if the visualization appears, scrolling might still be problematic the first time you go through the entire picture. So, testing should also take this into account. >> >> Doru >> >>> Stef >>> >>> On Jun 15, 2010, at 12:43 PM, Tudor Girba wrote: >>> >>>> Hi Cyrille, >>>> >>>> The canvas is defined in MOCanvas. This canvas is embedded in MOBrowser and MOEasel, which in their turn create a StandardWindow that holds the MOCanvas. >>>> >>>> Just to inform the others, Cyrille is experimenting with adding the Athens canvas (which provides an abstraction over Cairo, Balloon and possibly others) behind Mondrian. >>>> >>>> Cheers, >>>> Doru >>>> >>>> >>>> On 15 Jun 2010, at 11:42, Cyrille Delaunay wrote: >>>> >>>>> Hello, >>>>> >>>>> I have been looking a bit for the place where we set the canvas to use in Mondrian, but I didn't find. >>>>> I know that all shapes are drawn on a FormCanvas, but there is no references to FormCanvas in mondrian classes. >>>>> I just saw that there is a 'defaultCanvasClass' method in the class Form for example, so maybe such a method is use somewhere in the code. >>>>> Does somoene know the way to set a new Canvas to Mondrian ? >>>>> >>>>> _______________________________________________ >>>>> Moose-dev mailing list >>>>> [hidden email] >>>>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev >>>> >>>> -- >>>> www.tudorgirba.com >>>> >>>> "Presenting is storytelling." >>>> >>>> _______________________________________________ >>>> 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 >> >> -- >> www.tudorgirba.com >> >> "There are no old things, there are only old ways of looking at them." >> >> >> > > -- > www.tudorgirba.com > > "In a world where everything is moving ever faster, > one might have better chances to win by moving slower." > > > > _______________________________________________ > 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 |
In reply to this post by Tudor Girba
That's exactly what I want to do: 'to pass the AthensCanvas into that drawOn: method.
But I don't know how to do that,i don't know where to say: 'the default canvas to use now is RomeCanvas'
2010/6/15 Tudor Girba <[hidden email]> Hi Cyrille, _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
I see.
How do you do it in the examples you showed me? Let's start from there and we move up Doru On 15 Jun 2010, at 14:03, Cyrille Delaunay wrote: > That's exactly what I want to do: 'to pass the AthensCanvas into > that drawOn: method. > But I don't know how to do that,i don't know where to say: 'the > default canvas to use now is RomeCanvas' > > 2010/6/15 Tudor Girba <[hidden email]> > Hi Cyrille, > > Ok, I think I see where the confusion comes from. > > Every Morph is passed the actual Canvas in the drawOn: method. This > is part of the rendering loop. > > What you want is to pass the AthensCanvas into that drawOn: method. > > Does this help? > > Doru > > > > On 15 Jun 2010, at 13:50, Cyrille Delaunay wrote: > > Ok. > But, first, I don't why MOCanvas is a subclass of Morph (and not a > subclass of Canvas) ? > MOCanvas doesn't define any 'drawRectangle:' or 'drawSomething' > methods, like usual canvas does. > By setting some halt in the 'shape-classes' (MORectangleShape, > MOEllipseShape), I saw that the method display:on: is called with a > 'FormCanvas' as parameter. > So somewhere in the code, somoene is telling to MOCanvas: drawOn: > aFormCanvas. But it seems to not be in Mondrian > > > > 2010/6/15 Tudor Girba <[hidden email]> > Hi, > > MOCanvas is the canvas, it is a subclass of Morph :). > > Doru > > > > On 15 Jun 2010, at 13:23, Cyrille Delaunay wrote: > > When I look to MOCanvas, I don't find any initialization of the > concrete Canvas used . > There is only a Method MOCanvas >> drawOn:, that then let a MORoot > object call MORoot>>displayOn:, that then dispatch the work to each > 'shape-class'. > But I still don't find where the 'concrete' canvas is used (maybe I > should wear glasses :)) > > 2010/6/15 Tudor Girba <[hidden email]> > Hi, > > > now something important is that mondrian is barely usable for us: > DSM, package blueprint, torch are all slow. > I would really like to see some pragmatic solutions to be found. > Like not computing all the blocks all over the time. > > This is what we are already discussing, but until now it is not > clear what exactly generates the slowness. I believe the problem > comes from the edges, but we have to take a more systematic look. > > The other thing that has an impact is that right now Mondrian > computes everything lazily, so even if the visualization appears, > scrolling might still be problematic the first time you go through > the entire picture. So, testing should also take this into account. > > Doru > > > Stef > > On Jun 15, 2010, at 12:43 PM, Tudor Girba wrote: > > Hi Cyrille, > > The canvas is defined in MOCanvas. This canvas is embedded in > MOBrowser and MOEasel, which in their turn create a StandardWindow > that holds the MOCanvas. > > Just to inform the others, Cyrille is experimenting with adding the > Athens canvas (which provides an abstraction over Cairo, Balloon and > possibly others) behind Mondrian. > > Cheers, > Doru > > > On 15 Jun 2010, at 11:42, Cyrille Delaunay wrote: > > Hello, > > I have been looking a bit for the place where we set the canvas to > use in Mondrian, but I didn't find. > I know that all shapes are drawn on a FormCanvas, but there is no > references to FormCanvas in mondrian classes. > I just saw that there is a 'defaultCanvasClass' method in the class > Form for example, so maybe such a method is use somewhere in the code. > Does somoene know the way to set a new Canvas to Mondrian ? > > _______________________________________________ > Moose-dev mailing list > [hidden email] > https://www.iam.unibe.ch/mailman/listinfo/moose-dev > > -- > www.tudorgirba.com > > "Presenting is storytelling." > > _______________________________________________ > 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 > > -- > www.tudorgirba.com > > "There are no old things, there are only old ways of looking at them." > > > > > _______________________________________________ > 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 > > -- > www.tudorgirba.com > > "One cannot do more than one can do." > > > > > _______________________________________________ > 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 > > -- > www.tudorgirba.com > > "Reasonable is what we are accustomed with." > > > _______________________________________________ > 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 -- www.tudorgirba.com "It's not how it is, it is how we see it." _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
In reply to this post by Stéphane Ducasse
Hi Stef,
Who said that? :) I did not say that he did not say anything. I just said that it is difficult to find where problems are by looking at a very complex case. When the problems were raised, we did look into the issues, but it was just too difficult especially when we had multiple problems in the same time. Now we are in the situation in which multiple people noticed multiple problems, there are some fixes, but there are still problems left. So, we have to dig deeper and we should do it more systematically by creating simpler cases that reproduce the problem. It's not an issue of "I told you so", it's an issue of "We need help to identify all problems" :). Doru On 15 Jun 2010, at 14:01, Stéphane Ducasse wrote: > Doru > > Jannik said it several times - check the list. So do not tell him > that he did not want to help. > > Stef > > On Jun 15, 2010, at 1:25 PM, Tudor Girba wrote: > >> One more thing. >> >> It can also be that when you have expensive traversals in your >> blocks, you can easily get to quadratic algorithms. >> >> For example, suppose you have something like this: >> >> view shape >> height: [:each | (classes select: [:target | target invokes: >> each]) size]. >> view nodes: classes >> >> In this case, for each class, you would traverse all classes again, >> so N^2. >> >> That is why we need canonical examples first that expose complex >> graphs. And those people that have a direct interest in getting >> Mondrian fast would be good to help in this direction, because it >> can get difficult to understand the particularities of each model :) >> >> Cheers, >> Doru >> >> >> On 15 Jun 2010, at 13:13, Tudor Girba wrote: >> >>> Hi, >>> >>>> now something important is that mondrian is barely usable for us: >>>> DSM, package blueprint, torch are all slow. >>>> I would really like to see some pragmatic solutions to be found. >>>> Like not computing all the blocks all over the time. >>> >>> This is what we are already discussing, but until now it is not >>> clear what exactly generates the slowness. I believe the problem >>> comes from the edges, but we have to take a more systematic look. >>> >>> The other thing that has an impact is that right now Mondrian >>> computes everything lazily, so even if the visualization appears, >>> scrolling might still be problematic the first time you go through >>> the entire picture. So, testing should also take this into account. >>> >>> Doru >>> >>>> Stef >>>> >>>> On Jun 15, 2010, at 12:43 PM, Tudor Girba wrote: >>>> >>>>> Hi Cyrille, >>>>> >>>>> The canvas is defined in MOCanvas. This canvas is embedded in >>>>> MOBrowser and MOEasel, which in their turn create a >>>>> StandardWindow that holds the MOCanvas. >>>>> >>>>> Just to inform the others, Cyrille is experimenting with adding >>>>> the Athens canvas (which provides an abstraction over Cairo, >>>>> Balloon and possibly others) behind Mondrian. >>>>> >>>>> Cheers, >>>>> Doru >>>>> >>>>> >>>>> On 15 Jun 2010, at 11:42, Cyrille Delaunay wrote: >>>>> >>>>>> Hello, >>>>>> >>>>>> I have been looking a bit for the place where we set the canvas >>>>>> to use in Mondrian, but I didn't find. >>>>>> I know that all shapes are drawn on a FormCanvas, but there is >>>>>> no references to FormCanvas in mondrian classes. >>>>>> I just saw that there is a 'defaultCanvasClass' method in the >>>>>> class Form for example, so maybe such a method is use somewhere >>>>>> in the code. >>>>>> Does somoene know the way to set a new Canvas to Mondrian ? >>>>>> >>>>>> _______________________________________________ >>>>>> Moose-dev mailing list >>>>>> [hidden email] >>>>>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev >>>>> >>>>> -- >>>>> www.tudorgirba.com >>>>> >>>>> "Presenting is storytelling." >>>>> >>>>> _______________________________________________ >>>>> 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 >>> >>> -- >>> www.tudorgirba.com >>> >>> "There are no old things, there are only old ways of looking at >>> them." >>> >>> >>> >> >> -- >> www.tudorgirba.com >> >> "In a world where everything is moving ever faster, >> one might have better chances to win by moving slower." >> >> >> >> _______________________________________________ >> 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 -- www.tudorgirba.com "Sometimes the best solution is not the best solution." _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
In reply to this post by Veronica Isabel Uquillas Gomez
> With the latest changes in Mondrian, Torch has a noticeable speed improvement (except one).
> I will perform tests and will let you know. Yes please. I will work on Jean-Rémy case. Alexandre > > Veronica > > > On 15 Jun 2010, at 13:25, Tudor Girba wrote: > >> One more thing. >> >> It can also be that when you have expensive traversals in your blocks, you can easily get to quadratic algorithms. >> >> For example, suppose you have something like this: >> >> view shape >> height: [:each | (classes select: [:target | target invokes: each]) size]. >> view nodes: classes >> >> In this case, for each class, you would traverse all classes again, so N^2. >> >> That is why we need canonical examples first that expose complex graphs. And those people that have a direct interest in getting Mondrian fast would be good to help in this direction, because it can get difficult to understand the particularities of each model :) >> >> Cheers, >> Doru >> >> >> On 15 Jun 2010, at 13:13, Tudor Girba wrote: >> >>> Hi, >>> >>>> now something important is that mondrian is barely usable for us: DSM, package blueprint, torch are all slow. >>>> I would really like to see some pragmatic solutions to be found. Like not computing all the blocks all over the time. >>> >>> This is what we are already discussing, but until now it is not clear what exactly generates the slowness. I believe the problem comes from the edges, but we have to take a more systematic look. >>> >>> The other thing that has an impact is that right now Mondrian computes everything lazily, so even if the visualization appears, scrolling might still be problematic the first time you go through the entire picture. So, testing should also take this into account. >>> >>> Doru >>> >>>> Stef >>>> >>>> On Jun 15, 2010, at 12:43 PM, Tudor Girba wrote: >>>> >>>>> Hi Cyrille, >>>>> >>>>> The canvas is defined in MOCanvas. This canvas is embedded in MOBrowser and MOEasel, which in their turn create a StandardWindow that holds the MOCanvas. >>>>> >>>>> Just to inform the others, Cyrille is experimenting with adding the Athens canvas (which provides an abstraction over Cairo, Balloon and possibly others) behind Mondrian. >>>>> >>>>> Cheers, >>>>> Doru >>>>> >>>>> >>>>> On 15 Jun 2010, at 11:42, Cyrille Delaunay wrote: >>>>> >>>>>> Hello, >>>>>> >>>>>> I have been looking a bit for the place where we set the canvas to use in Mondrian, but I didn't find. >>>>>> I know that all shapes are drawn on a FormCanvas, but there is no references to FormCanvas in mondrian classes. >>>>>> I just saw that there is a 'defaultCanvasClass' method in the class Form for example, so maybe such a method is use somewhere in the code. >>>>>> Does somoene know the way to set a new Canvas to Mondrian ? >>>>>> >>>>>> _______________________________________________ >>>>>> Moose-dev mailing list >>>>>> [hidden email] >>>>>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev >>>>> >>>>> -- >>>>> www.tudorgirba.com >>>>> >>>>> "Presenting is storytelling." >>>>> >>>>> _______________________________________________ >>>>> 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 >>> >>> -- >>> www.tudorgirba.com >>> >>> "There are no old things, there are only old ways of looking at them." >>> >>> >>> >> >> -- >> www.tudorgirba.com >> >> "In a world where everything is moving ever faster, >> one might have better chances to win by moving slower." >> >> >> >> _______________________________________________ >> 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 |
In reply to this post by Tudor Girba
> Just to inform the others, Cyrille is experimenting with adding the Athens canvas (which provides an abstraction over Cairo, Balloon and possibly others) behind Mondrian.
Excellent! Alexandre _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
In reply to this post by cdelaunay
> That's exactly what I want to do: 'to pass the AthensCanvas into that drawOn: method.
> But I don't know how to do that,i don't know where to say: 'the default canvas to use now is RomeCanvas' Cyrille, the instance of the form canvas is provided by Morphic. This is not something one should manually instantiate. MOCanvas is a simple morph that recursively display elements. It is not a substitute of FormCanvas or something. Cheers, Alexandre > > 2010/6/15 Tudor Girba <[hidden email]> > Hi Cyrille, > > Ok, I think I see where the confusion comes from. > > Every Morph is passed the actual Canvas in the drawOn: method. This is part of the rendering loop. > > What you want is to pass the AthensCanvas into that drawOn: method. > > Does this help? > > Doru > > > > On 15 Jun 2010, at 13:50, Cyrille Delaunay wrote: > > Ok. > But, first, I don't why MOCanvas is a subclass of Morph (and not a subclass of Canvas) ? > MOCanvas doesn't define any 'drawRectangle:' or 'drawSomething' methods, like usual canvas does. > By setting some halt in the 'shape-classes' (MORectangleShape, MOEllipseShape), I saw that the method display:on: is called with a 'FormCanvas' as parameter. > So somewhere in the code, somoene is telling to MOCanvas: drawOn: aFormCanvas. But it seems to not be in Mondrian > > > > 2010/6/15 Tudor Girba <[hidden email]> > Hi, > > MOCanvas is the canvas, it is a subclass of Morph :). > > Doru > > > > On 15 Jun 2010, at 13:23, Cyrille Delaunay wrote: > > When I look to MOCanvas, I don't find any initialization of the concrete Canvas used . > There is only a Method MOCanvas >> drawOn:, that then let a MORoot object call MORoot>>displayOn:, that then dispatch the work to each 'shape-class'. > But I still don't find where the 'concrete' canvas is used (maybe I should wear glasses :)) > > 2010/6/15 Tudor Girba <[hidden email]> > Hi, > > > now something important is that mondrian is barely usable for us: DSM, package blueprint, torch are all slow. > I would really like to see some pragmatic solutions to be found. Like not computing all the blocks all over the time. > > This is what we are already discussing, but until now it is not clear what exactly generates the slowness. I believe the problem comes from the edges, but we have to take a more systematic look. > > The other thing that has an impact is that right now Mondrian computes everything lazily, so even if the visualization appears, scrolling might still be problematic the first time you go through the entire picture. So, testing should also take this into account. > > Doru > > > Stef > > On Jun 15, 2010, at 12:43 PM, Tudor Girba wrote: > > Hi Cyrille, > > The canvas is defined in MOCanvas. This canvas is embedded in MOBrowser and MOEasel, which in their turn create a StandardWindow that holds the MOCanvas. > > Just to inform the others, Cyrille is experimenting with adding the Athens canvas (which provides an abstraction over Cairo, Balloon and possibly others) behind Mondrian. > > Cheers, > Doru > > > On 15 Jun 2010, at 11:42, Cyrille Delaunay wrote: > > Hello, > > I have been looking a bit for the place where we set the canvas to use in Mondrian, but I didn't find. > I know that all shapes are drawn on a FormCanvas, but there is no references to FormCanvas in mondrian classes. > I just saw that there is a 'defaultCanvasClass' method in the class Form for example, so maybe such a method is use somewhere in the code. > Does somoene know the way to set a new Canvas to Mondrian ? > > _______________________________________________ > Moose-dev mailing list > [hidden email] > https://www.iam.unibe.ch/mailman/listinfo/moose-dev > > -- > www.tudorgirba.com > > "Presenting is storytelling." > > _______________________________________________ > 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 > > -- > www.tudorgirba.com > > "There are no old things, there are only old ways of looking at them." > > > > > _______________________________________________ > 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 > > -- > www.tudorgirba.com > > "One cannot do more than one can do." > > > > > _______________________________________________ > 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 > > -- > www.tudorgirba.com > > "Reasonable is what we are accustomed with." > > > _______________________________________________ > 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 |
In reply to this post by Tudor Girba
> I did not say that he did not say anything. I just said that it is difficult to find where problems are by looking at a very complex case. When the problems were raised, we did look into the issues, but it was just too difficult especially when we had multiple problems in the same time.
> > Now we are in the situation in which multiple people noticed multiple problems, there are some fixes, but there are still problems left. So, we have to dig deeper and we should do it more systematically by creating simpler cases that reproduce the problem. It's not an issue of "I told you so", it's an issue of "We need help to identify all problems" :). +1 Alexandre > > > On 15 Jun 2010, at 14:01, Stéphane Ducasse wrote: > >> Doru >> >> Jannik said it several times - check the list. So do not tell him that he did not want to help. >> >> Stef >> >> On Jun 15, 2010, at 1:25 PM, Tudor Girba wrote: >> >>> One more thing. >>> >>> It can also be that when you have expensive traversals in your blocks, you can easily get to quadratic algorithms. >>> >>> For example, suppose you have something like this: >>> >>> view shape >>> height: [:each | (classes select: [:target | target invokes: each]) size]. >>> view nodes: classes >>> >>> In this case, for each class, you would traverse all classes again, so N^2. >>> >>> That is why we need canonical examples first that expose complex graphs. And those people that have a direct interest in getting Mondrian fast would be good to help in this direction, because it can get difficult to understand the particularities of each model :) >>> >>> Cheers, >>> Doru >>> >>> >>> On 15 Jun 2010, at 13:13, Tudor Girba wrote: >>> >>>> Hi, >>>> >>>>> now something important is that mondrian is barely usable for us: DSM, package blueprint, torch are all slow. >>>>> I would really like to see some pragmatic solutions to be found. Like not computing all the blocks all over the time. >>>> >>>> This is what we are already discussing, but until now it is not clear what exactly generates the slowness. I believe the problem comes from the edges, but we have to take a more systematic look. >>>> >>>> The other thing that has an impact is that right now Mondrian computes everything lazily, so even if the visualization appears, scrolling might still be problematic the first time you go through the entire picture. So, testing should also take this into account. >>>> >>>> Doru >>>> >>>>> Stef >>>>> >>>>> On Jun 15, 2010, at 12:43 PM, Tudor Girba wrote: >>>>> >>>>>> Hi Cyrille, >>>>>> >>>>>> The canvas is defined in MOCanvas. This canvas is embedded in MOBrowser and MOEasel, which in their turn create a StandardWindow that holds the MOCanvas. >>>>>> >>>>>> Just to inform the others, Cyrille is experimenting with adding the Athens canvas (which provides an abstraction over Cairo, Balloon and possibly others) behind Mondrian. >>>>>> >>>>>> Cheers, >>>>>> Doru >>>>>> >>>>>> >>>>>> On 15 Jun 2010, at 11:42, Cyrille Delaunay wrote: >>>>>> >>>>>>> Hello, >>>>>>> >>>>>>> I have been looking a bit for the place where we set the canvas to use in Mondrian, but I didn't find. >>>>>>> I know that all shapes are drawn on a FormCanvas, but there is no references to FormCanvas in mondrian classes. >>>>>>> I just saw that there is a 'defaultCanvasClass' method in the class Form for example, so maybe such a method is use somewhere in the code. >>>>>>> Does somoene know the way to set a new Canvas to Mondrian ? >>>>>>> >>>>>>> _______________________________________________ >>>>>>> Moose-dev mailing list >>>>>>> [hidden email] >>>>>>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev >>>>>> >>>>>> -- >>>>>> www.tudorgirba.com >>>>>> >>>>>> "Presenting is storytelling." >>>>>> >>>>>> _______________________________________________ >>>>>> 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 >>>> >>>> -- >>>> www.tudorgirba.com >>>> >>>> "There are no old things, there are only old ways of looking at them." >>>> >>>> >>>> >>> >>> -- >>> www.tudorgirba.com >>> >>> "In a world where everything is moving ever faster, >>> one might have better chances to win by moving slower." >>> >>> >>> >>> _______________________________________________ >>> 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 > > -- > www.tudorgirba.com > > "Sometimes the best solution is not the best solution." > > > _______________________________________________ > 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 |
In reply to this post by Tudor Girba
so jannik can probably provide a case.
On Jun 15, 2010, at 2:24 PM, Tudor Girba wrote: > Hi Stef, > > Who said that? :) > > I did not say that he did not say anything. I just said that it is difficult to find where problems are by looking at a very complex case. When the problems were raised, we did look into the issues, but it was just too difficult especially when we had multiple problems in the same time. > > Now we are in the situation in which multiple people noticed multiple problems, there are some fixes, but there are still problems left. So, we have to dig deeper and we should do it more systematically by creating simpler cases that reproduce the problem. It's not an issue of "I told you so", it's an issue of "We need help to identify all problems" :). > > Doru > > > On 15 Jun 2010, at 14:01, Stéphane Ducasse wrote: > >> Doru >> >> Jannik said it several times - check the list. So do not tell him that he did not want to help. >> >> Stef >> >> On Jun 15, 2010, at 1:25 PM, Tudor Girba wrote: >> >>> One more thing. >>> >>> It can also be that when you have expensive traversals in your blocks, you can easily get to quadratic algorithms. >>> >>> For example, suppose you have something like this: >>> >>> view shape >>> height: [:each | (classes select: [:target | target invokes: each]) size]. >>> view nodes: classes >>> >>> In this case, for each class, you would traverse all classes again, so N^2. >>> >>> That is why we need canonical examples first that expose complex graphs. And those people that have a direct interest in getting Mondrian fast would be good to help in this direction, because it can get difficult to understand the particularities of each model :) >>> >>> Cheers, >>> Doru >>> >>> >>> On 15 Jun 2010, at 13:13, Tudor Girba wrote: >>> >>>> Hi, >>>> >>>>> now something important is that mondrian is barely usable for us: DSM, package blueprint, torch are all slow. >>>>> I would really like to see some pragmatic solutions to be found. Like not computing all the blocks all over the time. >>>> >>>> This is what we are already discussing, but until now it is not clear what exactly generates the slowness. I believe the problem comes from the edges, but we have to take a more systematic look. >>>> >>>> The other thing that has an impact is that right now Mondrian computes everything lazily, so even if the visualization appears, scrolling might still be problematic the first time you go through the entire picture. So, testing should also take this into account. >>>> >>>> Doru >>>> >>>>> Stef >>>>> >>>>> On Jun 15, 2010, at 12:43 PM, Tudor Girba wrote: >>>>> >>>>>> Hi Cyrille, >>>>>> >>>>>> The canvas is defined in MOCanvas. This canvas is embedded in MOBrowser and MOEasel, which in their turn create a StandardWindow that holds the MOCanvas. >>>>>> >>>>>> Just to inform the others, Cyrille is experimenting with adding the Athens canvas (which provides an abstraction over Cairo, Balloon and possibly others) behind Mondrian. >>>>>> >>>>>> Cheers, >>>>>> Doru >>>>>> >>>>>> >>>>>> On 15 Jun 2010, at 11:42, Cyrille Delaunay wrote: >>>>>> >>>>>>> Hello, >>>>>>> >>>>>>> I have been looking a bit for the place where we set the canvas to use in Mondrian, but I didn't find. >>>>>>> I know that all shapes are drawn on a FormCanvas, but there is no references to FormCanvas in mondrian classes. >>>>>>> I just saw that there is a 'defaultCanvasClass' method in the class Form for example, so maybe such a method is use somewhere in the code. >>>>>>> Does somoene know the way to set a new Canvas to Mondrian ? >>>>>>> >>>>>>> _______________________________________________ >>>>>>> Moose-dev mailing list >>>>>>> [hidden email] >>>>>>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev >>>>>> >>>>>> -- >>>>>> www.tudorgirba.com >>>>>> >>>>>> "Presenting is storytelling." >>>>>> >>>>>> _______________________________________________ >>>>>> 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 >>>> >>>> -- >>>> www.tudorgirba.com >>>> >>>> "There are no old things, there are only old ways of looking at them." >>>> >>>> >>>> >>> >>> -- >>> www.tudorgirba.com >>> >>> "In a world where everything is moving ever faster, >>> one might have better chances to win by moving slower." >>> >>> >>> >>> _______________________________________________ >>> 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 > > -- > www.tudorgirba.com > > "Sometimes the best solution is not the best solution." > > > _______________________________________________ > 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 |
In reply to this post by Alexandre Bergel-4
but the example proposed by jean-remi is exactly the same as the one proposed by jannik a while ago
this is a complex case. Stef On Jun 15, 2010, at 2:46 PM, Alexandre Bergel wrote: >> I did not say that he did not say anything. I just said that it is difficult to find where problems are by looking at a very complex case. When the problems were raised, we did look into the issues, but it was just too difficult especially when we had multiple problems in the same time. >> >> Now we are in the situation in which multiple people noticed multiple problems, there are some fixes, but there are still problems left. So, we have to dig deeper and we should do it more systematically by creating simpler cases that reproduce the problem. It's not an issue of "I told you so", it's an issue of "We need help to identify all problems" :). > > +1 > > Alexandre > >> >> >> On 15 Jun 2010, at 14:01, Stéphane Ducasse wrote: >> >>> Doru >>> >>> Jannik said it several times - check the list. So do not tell him that he did not want to help. >>> >>> Stef >>> >>> On Jun 15, 2010, at 1:25 PM, Tudor Girba wrote: >>> >>>> One more thing. >>>> >>>> It can also be that when you have expensive traversals in your blocks, you can easily get to quadratic algorithms. >>>> >>>> For example, suppose you have something like this: >>>> >>>> view shape >>>> height: [:each | (classes select: [:target | target invokes: each]) size]. >>>> view nodes: classes >>>> >>>> In this case, for each class, you would traverse all classes again, so N^2. >>>> >>>> That is why we need canonical examples first that expose complex graphs. And those people that have a direct interest in getting Mondrian fast would be good to help in this direction, because it can get difficult to understand the particularities of each model :) >>>> >>>> Cheers, >>>> Doru >>>> >>>> >>>> On 15 Jun 2010, at 13:13, Tudor Girba wrote: >>>> >>>>> Hi, >>>>> >>>>>> now something important is that mondrian is barely usable for us: DSM, package blueprint, torch are all slow. >>>>>> I would really like to see some pragmatic solutions to be found. Like not computing all the blocks all over the time. >>>>> >>>>> This is what we are already discussing, but until now it is not clear what exactly generates the slowness. I believe the problem comes from the edges, but we have to take a more systematic look. >>>>> >>>>> The other thing that has an impact is that right now Mondrian computes everything lazily, so even if the visualization appears, scrolling might still be problematic the first time you go through the entire picture. So, testing should also take this into account. >>>>> >>>>> Doru >>>>> >>>>>> Stef >>>>>> >>>>>> On Jun 15, 2010, at 12:43 PM, Tudor Girba wrote: >>>>>> >>>>>>> Hi Cyrille, >>>>>>> >>>>>>> The canvas is defined in MOCanvas. This canvas is embedded in MOBrowser and MOEasel, which in their turn create a StandardWindow that holds the MOCanvas. >>>>>>> >>>>>>> Just to inform the others, Cyrille is experimenting with adding the Athens canvas (which provides an abstraction over Cairo, Balloon and possibly others) behind Mondrian. >>>>>>> >>>>>>> Cheers, >>>>>>> Doru >>>>>>> >>>>>>> >>>>>>> On 15 Jun 2010, at 11:42, Cyrille Delaunay wrote: >>>>>>> >>>>>>>> Hello, >>>>>>>> >>>>>>>> I have been looking a bit for the place where we set the canvas to use in Mondrian, but I didn't find. >>>>>>>> I know that all shapes are drawn on a FormCanvas, but there is no references to FormCanvas in mondrian classes. >>>>>>>> I just saw that there is a 'defaultCanvasClass' method in the class Form for example, so maybe such a method is use somewhere in the code. >>>>>>>> Does somoene know the way to set a new Canvas to Mondrian ? >>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> Moose-dev mailing list >>>>>>>> [hidden email] >>>>>>>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev >>>>>>> >>>>>>> -- >>>>>>> www.tudorgirba.com >>>>>>> >>>>>>> "Presenting is storytelling." >>>>>>> >>>>>>> _______________________________________________ >>>>>>> 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 >>>>> >>>>> -- >>>>> www.tudorgirba.com >>>>> >>>>> "There are no old things, there are only old ways of looking at them." >>>>> >>>>> >>>>> >>>> >>>> -- >>>> www.tudorgirba.com >>>> >>>> "In a world where everything is moving ever faster, >>>> one might have better chances to win by moving slower." >>>> >>>> >>>> >>>> _______________________________________________ >>>> 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 >> >> -- >> www.tudorgirba.com >> >> "Sometimes the best solution is not the best solution." >> >> >> _______________________________________________ >> 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 |
Free forum by Nabble | Edit this page |