Closed Bug 890033 Opened 11 years ago Closed 4 years ago

Suboptimal layer interactions in Australis Tabs.

Categories

(Core :: Graphics: Layers, defect)

x86
macOS
defect
Not set
normal

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: bwinton, Unassigned)

References

()

Details

(Whiteboard: [Australis:M-])

Jeff asked me to look into this, and then file a bug.
There's a video (attached) of a bunch of red and green boxes that I think he wants to get rid of, but needs to understand the tab drawing code to do so…

Or something.  Maybe he'll leave a comment.
What is the impact? Perf?
Whiteboard: [Australis:M?]
Flags: needinfo?(jmuizelaar)
(In reply to Matthew N. [:MattN] from comment #1)
> What is the impact? Perf?

Yes, this has the potential to cause some negative performance issues.
Flags: needinfo?(jmuizelaar)
The red squares on the tab icons are caused by adding an opacity: 0.8; style to the image.

This gives us an active layer for the image, represented by the red square.

Jeff's suggestion for this is that we change the active layer heuristics to only be triggered by css animations/transitions, and JS changes from within a requestAnimationFrame handler.

What do you think roc?

The 3 green squares is an extension of the same issue.

In this case the 3 images that make up the curved tab overlap on top of the (now active) tab icon.

Since this would make the main content layer for the UI contain content that is both above and below the icon layer, we split it into two.

The majority of the content stays in the original layer, but the 3 overlapping images get put into the new layer. We see 3 rects because the visible region of this layer is represented with 3 rects, rather than a single bounding rect.
Flags: needinfo?(roc)
(In reply to Matt Woodrow (:mattwoodrow) from comment #3)
> The red squares on the tab icons are caused by adding an opacity: 0.8; style
> to the image.
> 
> This gives us an active layer for the image, represented by the red square.
> 
> Jeff's suggestion for this is that we change the active layer heuristics to
> only be triggered by css animations/transitions, and JS changes from within
> a requestAnimationFrame handler.
> 
> What do you think roc?

Sounds good
Flags: needinfo?(roc)
Would obviously take a patch, but otherwise without a clear perf issue -ing.
Whiteboard: [Australis:M?] → [Australis:M-]
Whiteboard: [Australis:M-] → [Australis:M-][Australis:P?]
Whiteboard: [Australis:M-][Australis:P?] → [Australis:M-]
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.