Closed Bug 1157410 Opened 10 years ago Closed 8 years ago

Game of Thrones Discussion site checkerboards with APZ on OS X

Categories

(Core :: Graphics, defect)

x86
macOS
defect
Not set
normal

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: mchang, Assigned: mchang)

References

(Blocks 1 open bug)

Details

(Whiteboard: gfx-noted)

Attachments

(1 file)

Link - http://www.reddit.com/r/gameofthrones/comments/336stg/s5_postpremiere_discussion_502_the_house_of_black/ Season 5, Episode 2 discussion for Game of Thrones spoiler warning. Profile: http://people.mozilla.org/~bgirard/cleopatra/#report=79a7f4bfdbfe78c0d6f4ee1e5509f4ede19cefdf Checkerboards a lot less without CSRD, but still takes quite a bit of time to paint. Five things stand out: 1) Need to increase tile sizes so that painting repeated images is faster. Safari has 1024x1024 tile sizes. 2) Box shadows take a long time to paint (bug 1155828). 3) 17% spent in nsDisplayText::Paint. I think this means we have to stop doing sub-pixel AA on text rendering on high DPI devices. Markus said this was 2x slower iirc. 4) nsDisplayCanvasBackgroundImage / nsDisplayBackgroundImage take 15% each. Might be bug 1154311.
(In reply to Mason Chang [:mchang] from comment #1) > Profile with 1024x1024 tile sizes > > http://people.mozilla.org/~bgirard/cleopatra/ > #report=2c8062480badb306a75902b8d8105477790bdc29 BoxShadow seems like the largest cause. We should look at the parameters and timings of this and see if they are sane.
(In reply to Mason Chang [:mchang] from comment #0) > 3) 17% spent in nsDisplayText::Paint. I think this means we have to stop > doing sub-pixel AA on text rendering on high DPI devices. Markus said this > was 2x slower iirc. Sub-pixel AA itself isn't slow (or shouldn't be). What's slow is when we promote a layer to a component-alpha layer (which happens when it has text over transparent parts of the layer): This means that the layer has both a buffer-on-white and a buffer-on-black (so twice the memory) and we paint all content into both buffers. Painting twice is where the 2x comes from. Painting sub-pixel anti-aliased text into opaque parts of non-component-alpha layers is perfectly fine, performance-wise. Or at least not something that would be sped up greatly by disabling sub-pixel AA. You can check whether we're using component alpha layers by checking whether the layer dump contains [componentAlpha], or by turning on layer borders and looking for cyan borders.
Attached file Reduced test case (deleted) —
Large amount of time spent blurring the edges + repeated tiled image.
Closing old bugs. This was fixed iirc from making box shadows faster.
Status: ASSIGNED → RESOLVED
Closed: 8 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: