tabstrip-tabs and newtab-button paint gradient more than once

NEW
Unassigned

Status

()

defect
7 years ago
6 years ago

People

(Reporter: avih, Unassigned)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

I noticed (with default theme on windows):

1. While hovering a tab (or the newtab-button) such that it highlights or un-hovering it, 3 gradients are painted over the exact same area.

2. During tab animation while opening/closing a tab (while other tabs are unaffected), on each animation frame: the newtab-button paints 3 gradients over the same area (of the button), and the tab itself paints 2 gradients over the same area (of the tab).

- One possible reason might be fade-in/out for tab hover, though it doesn't look like fade to my eyes. Still haven't looked at the code. If it's fade, I don't think each animation frame should paint more than one gradient per item.

- Another possible reason is that the hover-highight background is transparent, and so both the highlight gradient and the underlying gradient are painted on each frame. Possibly there is more than one transparent gradient overlay which might explain the 3 paints. But since it also happens when un-hovering a tab, I'm not sure this explanation holds.

- Another possible reason is some bug in Gecko.

Gradient rendering is expensive on some graphics configurations (e.g. D2D), and if we have redundant paints, we should probably fix that. Bug 835284 might help with making those gradients less expensive, but redundancy is still unwanted. If this is by design, then maybe we can find another implementation for tabstrip-tab background which paints the gradient only once on each animation frame.
You need to log in before you can comment on or make changes to this bug.