Open
Bug 1422032
Opened 7 years ago
Updated 2 years ago
We spend an appreciable amount of time in nsIFrame::ClearInvalidationStateBits during facebook-refresh.thml
Categories
(Core :: Graphics: WebRender, enhancement, P2)
Core
Graphics: WebRender
Tracking
()
NEW
People
(Reporter: jrmuizel, Unassigned)
References
(Blocks 1 open bug)
Details
(Whiteboard: [wr-reserve])
Attachments
(1 file)
59 bytes,
text/x-review-board-request
|
Details |
It would be nice if we could avoid this:
https://perfht.ml/2ApmBjH
Reporter | ||
Updated•7 years ago
|
Flags: needinfo?(ethlin)
Updated•7 years ago
|
Whiteboard: [wr-mvp] [triage]
Updated•7 years ago
|
Priority: -- → P2
Whiteboard: [wr-mvp] [triage] → [wr-reserve]
Updated•7 years ago
|
Assignee: nobody → ethlin
Flags: needinfo?(ethlin)
Updated•7 years ago
|
Status: NEW → ASSIGNED
Priority: P2 → P1
Whiteboard: [wr-reserve] → [wr-mvp]
Comment 1•7 years ago
|
||
I think we don't need to clear invalidation state bits for the whole frame tree. We just need to clear the bits for fallback items.
Comment hidden (mozreview-request) |
Comment 3•7 years ago
|
||
I can't reproduce comment 1, but I think this way should be correct. Jeff, can you check if the patch helps the performance?
Comment 4•7 years ago
|
||
Comment on attachment 8933601 [details]
Bug 1422032 - Clear the invalidation state bits for fallback items only but not for all frames.
Ah..we also check the flag in nsIFrame::InvalidateFrameWithRect. I should find another way to erase the flag efficiently.
Attachment #8933601 -
Flags: review?(jmuizelaar)
Comment 5•7 years ago
|
||
For WR, we only need to clear the bits for fallback items and all parent frames of the fallback items. So we need a special clear function for WR.
Updated•7 years ago
|
Blocks: stage-wr-nightly
Comment 6•7 years ago
|
||
I did some test and studies. It looks like we should clear the flag for either non-fallback and fallback frames since frame tree also checks this flag. So we shouldn't partially clear the flag. Matt, can you give some suggestions if we want to optimize this part?
Updated•7 years ago
|
Flags: needinfo?(matt.woodrow)
Updated•7 years ago
|
Whiteboard: [wr-mvp] → [wr-reserve]
Reporter | ||
Comment 7•7 years ago
|
||
We talked about this in Austin. In the facebook-refresh case we're setting a flag on the body element and we need to then propagate this down to all descendants. We could have, but don't currently have the infrastructure to avoid doing this.
The style change could propagate down into a blob image so we basically need to have this for blob image invalidation to work properly.
Because we set the flag on all of the descendants we end up having to traverse the whole frame tree to clear the flag.
Flags: needinfo?(matt.woodrow)
Reporter | ||
Updated•7 years ago
|
Assignee: ethlin → nobody
Status: ASSIGNED → NEW
Priority: P1 → P3
Summary: We spend an appreciable amount of time in nsIFrame::ClearInvalidationStateBits → We spend an appreciable amount of time in nsIFrame::ClearInvalidationStateBits during facebook-refresh.thml
Updated•7 years ago
|
Priority: P3 → P1
Reporter | ||
Updated•6 years ago
|
No longer blocks: stage-wr-nightly
Updated•6 years ago
|
Blocks: stage-wr-next
Updated•2 years ago
|
Blocks: wr-displaylist-perf
Updated•2 years ago
|
Severity: normal → S3
You need to log in
before you can comment on or make changes to this bug.
Description
•