- From: Philip Rogers <pdr@google.com>
- Date: Tue, 10 Jun 2014 23:35:10 -0700
- To: Alex Danilo <alex@abbra.com>
- Cc: Erik Dahlström <ed@opera.com>, "www-svg@w3.org" <www-svg@w3.org>, Boris Zbarsky <bzbarsky@mit.edu>
- Message-ID: <CAJgFLLv_7YsSLHHapKxAto9L_qsXGrGhcKPLfwBdE9rWvRfuqA@mail.gmail.com>
Alex, The overhead of SMIL (aka FROWN) will be greater than the performance difference between javascript and C++. The math of calculating animation keyframes is negligible in either language. I wrote up a testcase of 15,000 simultaneous animations at http://pr.gg/smil.html On Chrome 37.0.2042.0 (canary) the javascript+rAF testcase is 10% faster than SMIL. I profiled an instrumented build of Chrome and confirmed our SMIL code is hot on this testcase. Safari 7 feels similar to Chrome. On Firefox the javascript version certainly feels faster. On Tue, Jun 10, 2014 at 6:07 AM, Alex Danilo <alex@abbra.com> wrote: > >> On 6/9/14, 11:09 PM, Rik Cabanier wrote: > >>> However, requestAnimationFrame should result in smoother animation than > >>> SMIL. > >> > >> Why, exactly? > >> > >> -Boris > > > >In Blink (Chrome/Opera), svg animations (aka SMIL) are internally driven > >by rAF too, so there should be no difference. > > Boris is right, sorry. > > JS driving the animation uses the JS engine to do the animation > calculations > instead of native code which can also take advantage of any browser > internals > it wants, like layers, etc. > > When JS execution speed matches C/C++ this _might_ be moot but the best > asm.js results still show 50% slow-down (addmittedly on non-critical render > times from what I've seen), however claiming rAF is equivalent to SMIL for > performance is a bit of a stretch. To claim rAF is smoother than SMIL needs > some hard data to support, and I'd bet that's lacking, please contradict > this > with some numbers if I've missed something. > > rAF can at best match but not beat (or be smoother than) native SMIL if > the stars are aligned nicely:-) > > Alex > > >
Received on Wednesday, 11 June 2014 06:35:58 UTC