David Thank you for the link.
I read the paper, and I think I may understand the approach. I'll see if I can explain it, and maybe if I've missed the point you can correct me? 1. The different browsers have different rendering and JavaScript execution approaches, so it doesn't work to simply wrap stuff in JavaSCript as: a 'get start time' b. 'do stuff that I want to time' c. 'get end time and calculate end-=start for elapsed time' 2. It doesn't even work to 'post' a small task off into the future using setTimeout because that might still get executed before rendering has completed 3. BUT, If the task is split into multiple steps, and each step 'queued' using setTimeout, then the timing code can detect when it is the final step, and hence derive a time. As the step becomes smaller, the more precise the timing, but the greater the overhead. This can be somewhat identified by using several different step sizes, and looking for a trend. Is that the idea? TIA - GB BTW - It looks like there was a program or example which may provide a solution, but it seems to be no longer linked. Specifically under the heading "The programs" there is an item: 1. Run time vs. render time and how to measure. but that is not linked to anything. --- In [email protected], "ddailey" <ddailey@...> wrote: > > Here's an approach I used in a paper for the SVG2007: > http://srufaculty.sru.edu/david.dailey/svg/SVGOpen2007/SVGOpen2007.htm > > I was interested, among other things, in how JavaScript and SMIL animations > interacted, and in the effect of overstuffing the SVG DOM with lots of > content. > > cheers > David > ----- Original Message ----- > From: gb_n_svg > To: [email protected] > Sent: Tuesday, February 08, 2011 2:57 PM > Subject: [svg-developers] How to time some SVG+JavaScript? > > > > I have been experimenting with SVG Filters across Safari, Firefox, Chrome > and Opera. > > I am trying to get some stable performance timing so that I can understand > which filters are pretty quick, and which aren't. (I'd also like to do these > as browsers are improved) > > There are a couple of obstacles: > 1. Some stuff is so quick, it can't be reliable measured > 2. Some browsers schedule drawing differently, so aren't actually timed > > My approach to solve 1 (to make stuff easy to measure) is to run a > JavaScript function to create hundreds of instances of a group, with the > filter applied to each of the groups. This seems to be enough that timing is > relatively useful. > > e.g. > function () { > var startTime = new Date(); > ... do the create and rendering for hundreds of groups ... > var endTime = new Date(); > ... calculate elapsed time and print it ... > } > > BUT I can't simply time the JavaScript function this way because the > rendering of the graphics doesn't happen until after the function has exited. > > I tried running the final part of the timing after the groups are created > as a closure with setTimeout: > > setTimeout(function () { > var endTime = new Date(); > var diffTime = endTime.getTime() - startTime.getTime(); > > var txt = document.getElementById("timing"); > txt.firstChild.nodeValue = ... ; > }, 10); > > But, with some browsers I can see that the time to render is much longer > than the time this code measures and reports (over 2 seconds, but the timing > claims 0.6sec) > > I'd like to get this to a stage where I can run a sequence of tests, > automatically, let it gather the stats, and compare different combinations of > filters on the same browser, and also between different browsers. > > Could someone please point me at something which explains how to time this > sort of thing so that the time includes all of the rendering? > > TIA - GB > > > > > > [Non-text portions of this message have been removed] > ------------------------------------ ----- To unsubscribe send a message to: [email protected] -or- visit http://groups.yahoo.com/group/svg-developers and click "edit my membership" ----Yahoo! Groups Links <*> To visit your group on the web, go to: http://groups.yahoo.com/group/svg-developers/ <*> Your email settings: Individual Email | Traditional <*> To change settings online go to: http://groups.yahoo.com/group/svg-developers/join (Yahoo! ID required) <*> To change settings via email: [email protected] [email protected] <*> To unsubscribe from this group, send an email to: [email protected] <*> Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/

