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@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@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Jannik Laval
Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev