WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED CONFIGURATION CHANGED
24627
Large SVG documents have performance issues
https://bugs.webkit.org/show_bug.cgi?id=24627
Summary
Large SVG documents have performance issues
Kevin Ballard
Reported
2009-03-16 13:56:04 PDT
Rendering a large SVG document in WebKit has irritating performance implications. The following document was used to observe this behavior:
http://code.haskell.org/~dons/images/svg/hackage-circo.svg
(there are some other large SVG documents in the same directory) Any attempt to interact with the page causes a significant CPU spike. For example, clicking away to another app causes a second delay before the window deactivates (and similarly for reactivating). Even just clicking causes a CPU spike even though the document doesn't define any click handling.
Attachments
Add attachment
proposed patch, testcase, etc.
Eric Seidel (no email)
Comment 1
2009-03-30 14:08:30 PDT
I think this is partially due to
https://bugs.webkit.org/show_bug.cgi?id=14015
(we seem to be painting more than we're displaying?). It's also probably partially due to the SVG depending on stroke hittesting. Or at least we seem to be hit-testing some path's stroke quite a bit, which is slow.
Eric Seidel (no email)
Comment 2
2009-03-30 14:11:02 PDT
We also seem to hit-test the SVG every time, even if the hittest result isn't needed. I think the major slowness seen in mouse-move is due to the fact that we're hit-testing every time. We could invent a solution where the hit-testing wasn't done until the result was needed.
Brent Fulgham
Comment 3
2022-07-15 14:46:17 PDT
It's difficult to confirm this bug without a test case. We don't believe there is an ongoing issue here. If you do feel there is a problem, please REOPEN this bug and include a test case illustrating the issue.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug