Bug 24627 - Large SVG documents have performance issues
Summary: Large SVG documents have performance issues
Status: RESOLVED CONFIGURATION CHANGED
Alias: None
Product: WebKit
Classification: Unclassified
Component: SVG (show other bugs)
Version: 528+ (Nightly build)
Hardware: Mac OS X 10.5
: P2 Normal
Assignee: Nobody
URL: http://code.haskell.org/~dons/images/...
Keywords:
Depends on: 14015
Blocks:
  Show dependency treegraph
 
Reported: 2009-03-16 13:56 PDT by Kevin Ballard
Modified: 2022-07-15 14:46 PDT (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Kevin Ballard 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.
Comment 1 Eric Seidel (no email) 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.
Comment 2 Eric Seidel (no email) 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.
Comment 3 Brent Fulgham 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.