When panning the timeline, your mouse drag moves the div for the band by updating its left and/or top position. Timeline does not adjust the position of every element within a band - that is handled by the browser's DOM rendering.
When zooming, duration events will change size, and all events will be drawn closer (or further apart). Therefore the layout needs to be recalculated to avoid overlapping events. It is possible that the change in zoom level will need to draw events that were not previously created on the band, or remove events that are no longer visible. With ether-lines, the change in zoom level may affect the desired unit interval between ether-lines, causing new ones to be drawn or old ones to be thrown away. It was much simpler to just destroy the existing elements and re-create the layout. It is possible to write a new zoom method to be smarter about moving existing elements, destroying unneeded ones and creating new elements as necessary, but it will be a lot of work. --Mike On Sep 29, 2011, at 7:49 AM, cederlof wrote: > Hi! > > Regarding zoom-performance. I have about 40 bands synced together with > both zooming and panning. When panning all elements are moved by > changing their emlt.left (or .top) position. However on zooming, from > what I can tell, all elements are recreated for each zoom step. A much > better solution would be moving them, without needing the DOM to be > cleared and to add each separate element again. > > Does anyone have a solution for this? > > Tip: To get better performance on panning, hide all ether-lines when > dragging, and show them again on stop-dragging. As they are so many > for each band, it sucks performance-wise. > > Thanks for your time. > > Cederlof -- You received this message because you are subscribed to the Google Groups "SIMILE Widgets" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/simile-widgets?hl=en.
