I only tested using the test html file I provided, which is a modified version of test_example. I can probably get the others tested later tonight, but just in webkit and firefox (no IE for mac).
On May 10, 6:45 pm, Larry Kluger <[email protected]> wrote: > Hi Karl, > > Thanks very much. > > Did you test your patches against the examples in the Timeline trunk? > > Regards, > > Larry > > ________________________________ > From: Karl Seamon <[email protected]> > To: [email protected] > Sent: Sunday, May 10, 2009 6:27:53 PM > Subject: Timeline patches > > Hello, > > I've made some patches against the timeline trunk that are mostly > focussed on performance of loading json and scrolling when the number > of events is very high (5000+). I profiled in both FF3/firebug 1.3 and > in a recent webkit nightly. I'll be citing figures from FF3/firebug. > > date-time.js_optimizeNullDates.diff > This change makes a huge difference in json load times when there are > a lot of single date events. The parseIso8601DateTime function was > previously taking 60-70% of load time, and with this patch takes less > than 1%. This patch is far and away the most important of the one's > I'm providing. > > compact-painter.js_cacheDiv.diff > original-painter.js_cacheDiv.diff > overview-painter.js_cacheDiv.diff > These patches modify the painters to pre-cache some of the event divs > and then uses cloneNode. Depending on the function, it improves > performance of those calls by 3-10%. Not the most amazing improvement > ever, but it is something. > > band.js_cacheViewWidth.diff > Optimizes band.js's getViewWidth function by caching the width in a > member variable instead of doing dom lookups. When scrolling, this > function is responsible for 90% of reported runtime. With this patch, > it goes to less than 1%. > > compact-painter.js_minPixel.diff > original-painter.js_minPixel.diff > overview-painter.js_minPixel.diff > These are the only patches that are not performance related. They > modify the painters to guarantee that all tape divs are at least one > pixel wide. This solves a problem I was having where some events were > invisible at certain zoom levels. > > Additionally, I've included a python script that I wrote to generate > my test json files and the test.html file I was using with them. > > -----Inline Attachment Follows----- > > SIMILE Widgets | Timeline | Examples | Test Example > * SIMILE Widgets > * Timeline > * Examples > * Event Attribute Tests > Event Attribute Tests > This test uses JSON data. > It demonstrates use of various event attributes color, textColor, tapeImage, > and tapeRepeat. Details > Test numbers: > 1. Only start date > 2. Start and end dates. Combinations of isDuration > 3. Red tapes. Events without titles. Start and end dates. > Combinations of isDuration > 4. Caption and tapeImage attributes. The striped tape. Hover over the > label or tape to view the caption. > 5. Really long labels. They should not wrap > 6. Permutations of bad dates. Test that error messages are shown in > all browsers including IE > 7. Event has classname attribute. CSS is used to modify the event's > display. For event with classname of special_event, use css selectors: > * .tape-special_event for the tape in a main band > * .label-special_event for the label > * .icon-special_event for the icon > * .highlight-special_event for the highlight div > * In addition to the above, the elements also have a class of just > special_event. So the selector .special_event can be used generically for all > of the above elements, depending on your goals. > * The events in the overview band will have class > .small-special_event for the tape or tick. > Additional features demonstrated: > * Default Timeline Theme is modified (see html file source). > * Modified theme: thicker event tapes and increased track size > appropriately to match. > * Modified theme: Popup bubble dimensions set explicitly. > Timeline version . > Stripe courtesy of Stripe Generator. > Copyright © Massachusetts Institute of Technology and Contributors 2006-2009 > ~ Some rights reserved --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
