Closed
Bug 1370833
Opened 8 years ago
Closed 8 years ago
make less *InvalidateTableFrame* calls so we won't over painting the table.
Categories
(Core :: Layout, enhancement)
Core
Layout
Tracking
()
RESOLVED
FIXED
mozilla56
Tracking | Status | |
---|---|---|
firefox56 | --- | fixed |
People
(Reporter: ywu, Assigned: ywu)
Details
Attachments
(3 files, 2 obsolete files)
As Bug 1362412 Comment 16 mentioned, we should remove "manual invalidation" in table and count on comparison of the display items when we have a not border-collapse table.
Assignee | ||
Comment 1•8 years ago
|
||
this attachment could help to debug.
Assignee | ||
Updated•8 years ago
|
Assignee: nobody → ywu
Assignee | ||
Comment 2•8 years ago
|
||
From this test case, you can see that we over paint the whole table whether we have the border-collapse style or not.
Attachment #8875216 -
Attachment is obsolete: true
Assignee | ||
Comment 3•8 years ago
|
||
I am going to remove the calls that call to *nsTableFrame::InvalidateTableFrame*
Comment hidden (mozreview-request) |
Assignee | ||
Comment 5•8 years ago
|
||
Attachment #8875543 -
Attachment is obsolete: true
Assignee | ||
Comment 6•8 years ago
|
||
Comment on attachment 8875968 [details]
Bug 1370833 Part 1 - make less table invalidations for non-border-collapse tables.
Hi Matt,
In test-case.html, turning on paint_flashing, you can see we paint the whole table every second even though some part of the table's contents haven't changed at all. I tried to remove those suspicious calls and confirmed the area which is being repainted has shrunk to the reasonable area.
try: https://treeherder.mozilla.org/#/jobs?repo=try&revision=6372abefde2797dee46423860e697d0fff2cf236&selectedJob=105706808
How do you think?
However, I can still see some suspicious calls which call to "nsTableFrame::InvalidateTableFrame" in nsTableRowFrame.cpp, nsTableRowGroupFrame.cpp... etc but I haven't been able to make the tests which can hit those part. I think we could land what test-case.html hits first and see if there is any complains afterward. If not, we remove all of them in our codebase.
thanks!
Attachment #8875968 -
Flags: review?(matt.woodrow)
Assignee | ||
Updated•8 years ago
|
Summary: Remove "manual invalidation" in table and count on comparison of the display items when we have a not border-collapse table. → make less *InvalidateTableFrame* calls so we won't over painting the table.
Comment 7•8 years ago
|
||
mozreview-review |
Comment on attachment 8875968 [details]
Bug 1370833 Part 1 - make less table invalidations for non-border-collapse tables.
https://reviewboard.mozilla.org/r/147376/#review151638
::: commit-message-7efda:2
(Diff revision 1)
> +Bug 1370833 - Remove over invalidation tableFrame.
> +
Could you put more details in commit message so that people could have better understanding regarding to this changeset?
Assignee | ||
Comment 8•8 years ago
|
||
Comment on attachment 8875968 [details]
Bug 1370833 Part 1 - make less table invalidations for non-border-collapse tables.
Review request updated; see interdiff: https://reviewboard.mozilla.org/r/147376/diff/1-2/
Attachment #8875968 -
Attachment description: Bug 1370833 - Remove over invalidation tableFrame. → Bug 1370833 - make less table invalidations for non-border-collapse tables.
Comment 9•8 years ago
|
||
mozreview-review |
Comment on attachment 8875968 [details]
Bug 1370833 Part 1 - make less table invalidations for non-border-collapse tables.
https://reviewboard.mozilla.org/r/147376/#review152056
Looks good!
Can you also add a reftest (or a few?) that make sure we're invalidating correctly.
You want to add 'reftest-wait' as a class on the root element, wait for the MozReftestInvalidate event, and then make the change and remove the reftest-wait class. There's lots of existing tests that use this format.
Ideally we'd have one test with border-collapse and one without.
Attachment #8875968 -
Flags: review?(matt.woodrow) → review+
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Assignee | ||
Comment 14•8 years ago
|
||
Hey Matt,
result of try looks fine:
https://treeherder.mozilla.org/#/jobs?repo=try&revision=e7ccf57a6bfaa1b0832a693143f8d1a84fd8f0f5&selectedJob=106320186
How do you think about the reftest?
thanks a lot.
Comment 15•8 years ago
|
||
mozreview-review |
Comment on attachment 8876593 [details]
Bug 1370833 Part 2 - add reftests for border-collapse and non-border-collapse table.
https://reviewboard.mozilla.org/r/147922/#review153214
Attachment #8876593 -
Flags: review?(matt.woodrow) → review+
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Assignee | ||
Updated•8 years ago
|
Keywords: checkin-needed
Comment 18•8 years ago
|
||
Pushed by ryanvm@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/0cd9f4c25544
Part 1 - make less table invalidations for non-border-collapse tables. r=mattwoodrow
https://hg.mozilla.org/integration/autoland/rev/2c4ea118644c
Part 2 - add reftests for border-collapse and non-border-collapse table. r=mattwoodrow
Keywords: checkin-needed
Comment 19•8 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/0cd9f4c25544
https://hg.mozilla.org/mozilla-central/rev/2c4ea118644c
Status: NEW → RESOLVED
Closed: 8 years ago
status-firefox56:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla56
You need to log in
before you can comment on or make changes to this bug.
Description
•