Closed Bug 1415326 Opened 8 years ago Closed 8 years ago

MotionMark CSS bouncing clipped rectanges runs very poorly

Categories

(Core :: Graphics: WebRender, enhancement, P1)

enhancement

Tracking

()

RESOLVED FIXED
mozilla58
Tracking Status
firefox57 --- unaffected
firefox58 --- unaffected

People

(Reporter: jrmuizel, Assigned: jrmuizel)

References

(Depends on 1 open bug)

Details

(Whiteboard: [wr-mvp])

Attachments

(1 file)

I think we might be painting the blob images for the clip masks more than necessary.
Whiteboard: [wr-mvp] [triage]
So we're definitely painting new items every frame, but the new items don't obviously show up.
Also, all of the squares share a single clip path, so if webrender could share them we would go much much faster.
(In reply to Jeff Muizelaar [:jrmuizel] from comment #3) > Also, all of the squares share a single clip path, so if webrender could > share them we would go much much faster. Should we open a separate bug for this part?
(In reply to Milan Sreckovic [:milan] from comment #4) > (In reply to Jeff Muizelaar [:jrmuizel] from comment #3) > > Also, all of the squares share a single clip path, so if webrender could > > share them we would go much much faster. > > Should we open a separate bug for this part? Yes please. Depending on how the display list is structured this might be pretty simple to do.
Whiteboard: [wr-mvp] [triage] → [wr-mvp]
Depends on: 1415987
This helps us avoid rerasterizing the blob images every frame. This makes a huge difference in performance. Our score goes from approx 75 to 380. Current Firefox gets about 200.
Assignee: nobody → jmuizelaar
Attachment #8927021 - Flags: review?(ethlin)
Comment on attachment 8927021 [details] [diff] [review] Tolerate slight changes in scale Review of attachment 8927021 [details] [diff] [review]: ----------------------------------------------------------------- ::: gfx/layers/wr/WebRenderCommandBuilder.cpp @@ +507,5 @@ > // region is unknown until we traverse the displaylist contained by it. > if (geometry && !fallbackData->IsInvalid() && > aItem->GetType() != DisplayItemType::TYPE_FILTER && > + aItem->GetType() != DisplayItemType::TYPE_SVG_WRAPPER > + differentScale) { you're missing an operator here
Status: NEW → ASSIGNED
Priority: P2 → P1
Attachment #8927021 - Flags: review?(ethlin) → review+
Of course you will fix the compilation errors before landing.
Pushed by jmuizelaar@mozilla.com: https://hg.mozilla.org/integration/mozilla-inbound/rev/5bee2596ae4d Tolerate slight changes in scale for fallback items. r=ethlin
Status: ASSIGNED → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla58
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: