NEW 34344
Adding overflow:hidden to TD elements makes hit testing much slower
https://bugs.webkit.org/show_bug.cgi?id=34344
Summary Adding overflow:hidden to TD elements makes hit testing much slower
James Robinson
Reported 2010-01-29 13:54:19 PST
Created attachment 47733 [details] Test page using elementFromPoint Setting overflow:hidden on <td> elements inside a large table increases the amount of time needed to hit test points within the table. This is just a special case of https://bugs.webkit.org/show_bug.cgi?id=33520 - setting overflow:hidden gives each <td> its own RenderLayer, so hit testing within the element causes a lot of very slow coordinate maps. The other issue is that currently when hit testing inside a table we iterate through every child cell instead of taking advantage of rows to restrict the search. This shows up as a 30-50ms delay on an internal app with a large table embedded at a moderate depth inside the DOM (roughly 10 RenderLayers from the document root).
Attachments
Test page using elementFromPoint (1.45 KB, text/html)
2010-01-29 13:54 PST, James Robinson
no flags
James Robinson
Comment 1 2010-02-05 16:19:50 PST
overflow:hidden causes each TD to get its own layer. The patch in https://bugs.webkit.org/show_bug.cgi?id=33520 speeds hit testing up
James Robinson
Comment 2 2010-02-05 16:20:55 PST
Pah, bugzilla was a bit overeager. What I meant was: overflow:hidden causes each TD to get its own RenderLayer. The patch in https://bugs.webkit.org/show_bug.cgi?id=33520 speeds this test up by about 33%.
Note You need to log in before you can comment on or make changes to this bug.