Bug 12432
Summary: | SVG animations are notified for updates way too often | ||
---|---|---|---|
Product: | WebKit | Reporter: | Eric Seidel (no email) <eric> |
Component: | SVG | Assignee: | Nobody <webkit-unassigned> |
Status: | NEW | ||
Severity: | Normal | CC: | zimmermann |
Priority: | P2 | ||
Version: | 420+ | ||
Hardware: | Mac | ||
OS: | OS X 10.4 | ||
Bug Depends on: | |||
Bug Blocks: | 41761 |
Eric Seidel (no email)
Animations are notified for updates way too often
right now animations are notified to update (and thus normally cause a redraw) 30x per second, or something similar *even* if they have nothing to do.
We need to fix the animation notification system to be much smarter. Animations should be able to register for the next callback at a specific time. The scheduler could then be smart enough to schedule the timer for the minimum of all of these. Or each animation could carry a "update after" date, and only mark it self as needing update when the time passes that date (unless manually invalidated for other reasons (like applying to an element which needs to update sooner, etc.)
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Nikolas Zimmermann
This partly works in trunk, but we still have issues. We're basically calling targetElement->svgAttributeChanged(attributeName) for XML animations, and setNeedsStyleRecalc() for CSS prop animations, regardless of whether the animation contributes to the currently animated value or not, causing lots of unnecessary work being done.