To profile the creation and drawing, create a canvas and do a #fullDrawOn: onto 
it.

Example:
[ 
        | morph canvas |
        
        morph := FTTableMorph new
                extent: 300@300;
                dataSource: (FTExampleDataSource elements: (Smalltalk 
allClassesAndTraits 
                        sorted: [ :a :b | a name < b name]));
                yourself.
        
        canvas := FormCanvas 
                extent: morph fullBounds extent 
                depth: Display depth. 
        
        morph fullDrawOn: canvas

] timeProfile.

Best regards,
Henrik

-----Original Message-----
From: Pharo-users [mailto:pharo-users-boun...@lists.pharo.org] On Behalf Of 
Stephan Eggermont
Sent: Sunday, November 22, 2015 9:16 PM
To: pharo-users@lists.pharo.org
Subject: Re: [Pharo-users] About profiling code

On 22-11-15 20:42, Guillermo Polito wrote:
> Out of the top of my head, doing it like that only profiles widget 
> creation/install if I'm not mistaken. But not render time.
>
> Because the doit is executed inside the event processing of the 
> morphic render loop. But a cool ui profiling should also measure the drawOn:
> methods.
>
> I don't know if there is a tool to do that right know but it would be 
> possible...

Thierry explained:
Show halos on a Morph, inspect morph, DoIt [self fullDrawOn: Display getCanvas] 
timeProfile in the inspector.

I've noticed very large differences in where time is spend (and not just the 
first time when all default values still need to be calculated).

Stephan


Reply via email to