Summary: | Extremely slow DOM access compared to other non-webkit browsers | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Andrew Gryaznov <realgrandrew> | ||||||
Component: | Tables | Assignee: | Nobody <webkit-unassigned> | ||||||
Status: | RESOLVED WORKSFORME | ||||||||
Severity: | Normal | CC: | ap, chad, simon.fraser | ||||||
Priority: | P2 | ||||||||
Version: | 528+ (Nightly build) | ||||||||
Hardware: | PC | ||||||||
OS: | Windows XP | ||||||||
URL: | http://blog.jeneric.net/2010/02/05/ie8-beats-chrome-safari-in-performance-tests/ | ||||||||
Attachments: |
|
Created attachment 48233 [details]
test case
the test case html
I don’t think this is a DOM issue as much as a repainting issue. Profiling shows a large amount of time is spent repainting tables. QuartzDebug doesn’t appear to show any unnecessary repainting though. I'm seeing the same problem. I've made some examples. These examples are the same content with different styling: 1) Normal scrolling. Solid borders and border-collapse:separate http://chadvonnau.com/projects/web/examples/webkit-table-bug/index.html 2) Slow scrolling. Solid borders and border-collapse:collapse http://chadvonnau.com/projects/web/examples/webkit-table-bug/bordercollapse.html 3) Very slow scrolling and beach ball of death. Semi-transparent RGBA borders and border-collapse:separate http://chadvonnau.com/projects/web/examples/webkit-table-bug/rgbaborders.html I'm testing with Safari 5.1 and OS X 10.6.8 (+update) on my Late 2006 MacBook Pro. Firefox 4 sees roughly equal performance on on all of those examples. Safari 5.0 and earlier sees about the same performance on each example. Chrome 13.0.7 has similar performance issues with these examples. Here is another page that exhibits performance problems because of border-collapse:collapse http://panlex.org/u This is the same bug on Google's bug tracker: http://code.google.com/p/chromium/issues/detail?id=34736 *** Bug 66184 has been marked as a duplicate of this bug. *** This bug is about DOM access performance, not scrolling performance. Please file another bug on the latter. I just revisited this today and both Andrew's original DOM access issue, and my scrolling issue (Comment #3) appear to be resolved in Safari 8. On my machine, I'm getting over 60FPS on Andrew's demo, and the scrolling examples I linked are as smooth as can be. I put Andrew's demo on Codepen for ease of testing: http://codepen.io/cvn/full/vEbKJz/ I think this can be closed. Thank you, looks good to me in Safari 7.1.4 too. |
Created attachment 48232 [details] Blog post with regression source and more info access speed regresses over the size of the DOM table tree, It is down to 20x or more times slower than in every other modern browser, including Internet Explorer. It makes some DOM tricks unusable in WebKit completely