Begin forwarded message:
> From: Igor Stasenko <siguctua(a)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.ducasse(a)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.