Yes that view is very neat! Especially for debugging, maintaining the
Smalltalk immediate feedback principle :0

On 2013-05-04, at 09:41, Stéphane Ducasse <stephane.duca...@inria.fr> wrote
> Begin forwarded message:
>> From: Igor Stasenko <siguc...@gmail.com>
>> Subject: Re: Else I can do a mail to the moose mailing...
>> Date: May 4, 2013 12:45:36 AM GMT+02:00
>> To: Stéphane Ducasse <stephane.duca...@inria.fr>
>> 
>> So i spent a little time to make an experiment, how fast i can render
>> the tree visualization.
>> 
>> (gray screenshot)
>> This one i can zoom& pan in real time without even noticing any sort of 
>> delay:
>> 
>> (AthensTreeView
>>      openOn: Collection  extentBlock: [  :cls |  (cls allInstVarNames
>> size+1)*5 @  (cls methodDict size + 1) ]
>>              childsBlock: [ :cls | cls subclasses ]).
>>              
>> 
>> (white screenshot)
>> This one a bit sluggish, because of drawing too many curves (but if
>> you comment curve drawing - connecting each child with its parent,
>> and leave drawing only boxes.. it will be quite fast.. for real-time zoom & 
>> pan)
>> 
>> (AthensTreeView
>>      openOn: Object  extentBlock: [  :cls |  (cls allInstVarNames
>> size+1)*5 @  (cls methodDict size + 1) ]
>>              childsBlock: [ :cls | cls subclasses ]).
>>              
>> And sure, smart people usually employ different visualizations for
>> such large trees, since it makes no sense:
>> Object withAllSubclasses size
>> 6882
>> 
>> but even without it, if you limit max zoom, you can go very fast (
>> there is a lot of literature how you can do geometry culling (by
>> occluding unnecessary
>> geometry to not waste cycles on it, since it is outside of view anyways)
>> 
>> 
>> -- 
>> Best regards,
>> Igor Stasenko.
> <Screen Shot 2013-05-04 at 12.33.02 AM.png>
> <Screen Shot 2013-05-04 at 12.35.35 AM.png>
> <AthensTreeView.st>
> <AthensSimpleTreeNode.st>
> 


Reply via email to