This is true that it is not fast as it should be.
Consider:
| view |
view := MOViewRenderer new.
view shape rectangle size: 180.
view nodes: (1 to: 45 squared).
view gridLayout.
view open
This is much faster than DSM. There might be something wrong with the caches.
Alexandre
On 19 Jun 2010, at 08:43, Laval Jannik wrote:
On Jun 19, 2010, at 14:31 , Tudor Girba wrote:
Hi Jannik,
From this trace, it looks like the time is spent on rendering.
I understand it is still slow, but did you notice any improvement since the caching? When
I tried eDSM, it looked significantly faster. I mean before I could not scroll at all, now
I can even if only slowly. Could you confirm this?
My experience is not so faster: before I could scroll slowly, now I can scroll slowly.
Maybe not as much as before, but the difference is not evident.
I will do some experiment to see more.
Cheers,
Jannik
Cheers,
Doru
On 19 Jun 2010, at 14:25, Laval Jannik wrote:
Hi All,
I do a "profile all UI" and a scroll in a eDSM.
The eDSM has been built on MooseModel of Moose itself and made with the 77 model
packages.
I hope the result can help.
Results follows:
============
--------------------------------
Process: (40s) 211550208: nil
--------------------------------
58.7% {12320ms} WorldState>>doOneCycleFor:
56.8% {11921ms} WorldState>>doOneCycleNowFor:
|54.9% {11522ms} WorldState>>displayWorldSafely:
| |54.9% {11522ms} PasteUpMorph>>displayWorld
| | 54.9% {11522ms} PasteUpMorph>>privateOuterDisplayWorld
| | 54.9% {11522ms} WorldState>>displayWorld:submorphs:
| | 54.9% {11522ms} WorldState>>drawWorld:submorphs:invalidAreasOn:
| | 54.9% {11522ms} FormCanvas(Canvas)>>fullDrawMorph:
| | 54.9% {11522ms} FormCanvas(Canvas)>>fullDraw:
| | 54.9% {11522ms} StandardWindow(Morph)>>fullDrawOn:
| | 54.9% {11522ms} StandardWindow(Morph)>>drawSubmorphsOn:
| | 54.9% {11522ms} FormCanvas(Canvas)>>fullDrawMorph:
| | 54.9% {11522ms} FormCanvas(Canvas)>>fullDraw:
| | 54.9% {11522ms} ScrollPane(Morph)>>fullDrawOn:
| | 54.9% {11522ms} ScrollPane(Morph)>>drawSubmorphsOn:
| | 54.9% {11522ms} FormCanvas(Canvas)>>fullDrawMorph:
| | 54.9% {11522ms} FormCanvas(Canvas)>>fullDraw:
| | 54.9% {11522ms}
TransformMorph(Morph)>>fullDrawOn:
| | 54.8% {11501ms}
TransformMorph>>drawSubmorphsOn:
| | 54.8% {11501ms}
FormCanvas(Canvas)>>fullDrawMorph:
| | 54.8% {11501ms}
FormCanvas(Canvas)>>fullDraw:
| | 54.8% {11501ms}
MOCanvas(Morph)>>fullDrawOn:
| | 54.8% {11501ms}
FormCanvas(Canvas)>>drawMorph:
| | 54.8% {11501ms}
FormCanvas(Canvas)>>draw:
| | 54.8% {11501ms} MOCanvas>>drawOn:
| | 54.8% {11501ms}
MORoot(MONode)>>displayOn:
| | 30.9% {6485ms}
MONode>>displayOn:
| | |18.1% {3799ms}
MOEdge>>displayOn:
| | | |17.1% {3589ms}
MOStraightLineShape>>display:on:
| | | | 5.8% {1217ms}
FormCanvas>>line:to:width:color:
| | | | |2.9% {609ms}
FormCanvas>>setFillColor:
| | | | | |1.4% {294ms}
GrafPort>>fillPattern:
| | | | | | 1.2% {252ms}
GrafPort(BitBlt)>>fillColor:
| | | | |1.1% {231ms}
GrafPort(BitBlt)>>drawFrom:to:
| | | | 3.3% {693ms}
MOStraightLineShape(MOLineShape)>>colorFor:
| | | | |3.1% {651ms}
MOEdge(MOGraphElement)>>cachedNamed:ifAbsentInitializeWith:
| | | | | 2.7% {567ms}
MOEdge(MOGraphElement)>>attributeAt:ifAbsent:
| | | | | 2.1% {441ms}
IdentityDictionary(Dictionary)>>at:ifAbsentPut:
| | | | | 1.9% {399ms}
IdentityDictionary(Dictionary)>>at:ifAbsent:
| | | | | 1.2% {252ms}
IdentityDictionary(HashedCollection)>>findElementOrNil:
| | | | 2.5% {525ms}
MOStraightLineShape(MOLineShape)>>widthFor:
| | | | |2.3% {483ms}
MOEdge(MOGraphElement)>>attributeAt:ifAbsent:
| | | | | 1.7% {357ms}
IdentityDictionary(Dictionary)>>at:ifAbsentPut:
| | | | | 1.5% {315ms}
IdentityDictionary(Dictionary)>>at:ifAbsent:
| | | | | 1.1% {231ms}
IdentityDictionary(HashedCollection)>>findElementOrNil:
| | | | 2.3% {483ms}
MOStraightLineShape(MOLineShape)>>getAttachPointsFor:
| | | | |1.9% {399ms}
MONode(MOGraphElement)>>isNotSelected
| | | | | 1.3% {273ms}
MONode(MOGraphElement)>>isSelected
| | | | 1.1% {231ms} Point>>abs
| | |12.2% {2561ms}
MONode>>displayOn:
| | | 8.4% {1763ms}
MOEdge>>displayOn:
| | | |8.0% {1679ms}
MOStraightLineShape>>display:on:
| | | | 2.6% {546ms}
FormCanvas>>line:to:width:color:
| | | | |1.3% {273ms}
FormCanvas>>setFillColor:
| | | | 1.5% {315ms}
MOStraightLineShape(MOLineShape)>>colorFor:
| | | | |1.4% {294ms}
MOEdge(MOGraphElement)>>cachedNamed:ifAbsentInitializeWith:
| | | | | 1.3% {273ms}
MOEdge(MOGraphElement)>>attributeAt:ifAbsent:
| | | | 1.3% {273ms}
MOStraightLineShape(MOLineShape)>>widthFor:
| | | | |1.2% {252ms}
MOEdge(MOGraphElement)>>attributeAt:ifAbsent:
| | | | 1.1% {231ms}
MOStraightLineShape(MOLineShape)>>getAttachPointsFor:
| | | 2.9% {609ms}
MONode>>displayOn:
| | | 2.1% {441ms}
MOEdge>>displayOn:
| | | 2.0% {420ms}
MOStraightLineShape>>display:on:
| | 23.4% {4911ms}
MOEdge>>displayOn:
| | 22.0% {4617ms}
MOStraightLineShape>>display:on:
| | 7.5% {1574ms}
FormCanvas>>line:to:width:color:
| | |3.5% {735ms}
FormCanvas>>setFillColor:
| | | |1.7% {357ms}
GrafPort>>fillPattern:
| | | | 1.5% {315ms}
GrafPort(BitBlt)>>fillColor:
| | | | 1.2% {252ms}
DisplayScreen(Form)>>bitPatternFor:
| | |1.4% {294ms}
GrafPort(BitBlt)>>drawFrom:to:
| | 3.9% {819ms}
MOStraightLineShape(MOLineShape)>>colorFor:
| | |3.7% {777ms}
MOEdge(MOGraphElement)>>cachedNamed:ifAbsentInitializeWith:
| | | 3.2% {672ms}
MOEdge(MOGraphElement)>>attributeAt:ifAbsent:
| | | 2.4% {504ms}
IdentityDictionary(Dictionary)>>at:ifAbsentPut:
| | | 2.1% {441ms}
IdentityDictionary(Dictionary)>>at:ifAbsent:
| | | 1.3% {273ms}
IdentityDictionary(HashedCollection)>>findElementOrNil:
| | 3.5% {735ms}
MOStraightLineShape(MOLineShape)>>widthFor:
| | |3.1% {651ms}
MOEdge(MOGraphElement)>>attributeAt:ifAbsent:
| | | 2.3% {483ms}
IdentityDictionary(Dictionary)>>at:ifAbsentPut:
| | | 2.1% {441ms}
IdentityDictionary(Dictionary)>>at:ifAbsent:
| | | 1.5% {315ms}
IdentityDictionary(HashedCollection)>>findElementOrNil:
| | | 1.0% {210ms}
IdentityDictionary>>scanFor:
| | 3.1% {651ms}
MOStraightLineShape(MOLineShape)>>getAttachPointsFor:
| | |2.6% {546ms}
MONode(MOGraphElement)>>isNotSelected
| | | 1.7% {357ms}
MONode(MOGraphElement)>>isSelected
| | 1.4% {294ms} Point>>abs
==============
Cheers,
Jannik
_______________________________________________
Moose-dev mailing list
Moose-dev(a)iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
--
www.tudorgirba.com
"What we can governs what we wish."
_______________________________________________
Moose-dev mailing list
Moose-dev(a)iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
---
Jannik Laval
_______________________________________________
Moose-dev mailing list
Moose-dev(a)iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev