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.