Closed
Bug 1160052
Opened 10 years ago
Closed 10 years ago
Reduce overpainting of display items that are covered by other display items
Categories
(Core :: Layout, defect)
Tracking
()
RESOLVED
WORKSFORME
People
(Reporter: pchang, Unassigned)
Details
By dumping the display items for each layer, there are some items that are covered by other display items. But we still need to paint those itemes which are not visible on the screen.
The following are the display item dump for message app. And you can see the first 'BackgroundColor p=0xb1849670' is covered by Background(p=0xb184af08) and BackgroundColor (p=0xb184a8b8).
CanvasBackgroundColor p=0xb1849560 f=0xb2c3e8d0(Canvas(html)(-1)) bounds(0,0,19200,32360) layerBounds(0,0,19200,32360) visible(0,0,0,0) componentAlpha(0,0,0,0) clip() uniform (opaque 0,0,19200,32360) (rgba 255,255,255,255) layer=0xb184bc00
BackgroundColor p=0xb1849670 f=0xb221f968(HTMLScroll(article)(1) id:main-wrapper class:wrapper) bounds(0,0,19200,32360) layerBounds(0,0,19200,32360) visible(0,3000,19200,29360) componentAlpha(0,0,0,0) clip(0,0,19200,32360) uniform (opaque 0,0,19200,32360) (rgba 1,1,1,1) layer=0xb184bc00
Background p=0xb184af08 f=0xb22246f8(HTMLScroll(div)(11) id:threads-no-messages class:) bounds(3600,11680,12000,12000) layerBounds(3600,11680,12000,12000) visible(3600,11680,12000,12000) componentAlpha(0,0,0,0) clip(0,3000,19200,29360) layer=0xb184bc00
BackgroundColor p=0xb184a8b8 f=0xb1868250(FlexContainer(div)(0) class:inner) bounds(0,0,19200,3000) layerBounds(0,0,19200,3000) visible(0,0,19200,3000) componentAlpha(0,0,0,0) clip(0,0,19200,3000) uniform (opaque 0,0,19200,3000) (rgba 0.152941,0.784314,0.760784,1) layer=0xb184bc00
| Reporter | ||
Comment 1•10 years ago
|
||
After checking the paint items, I found gecko did some optimization [1](like occlusion culling) to skip the painting for item BackgroundColor (p=0xb1849670). Therefore, gecko now doesn't spend time to paint the display items which are covered by others.
With this optimization, I think we might be able to set the empty visible region on that display item. Will open another bug for it.
[1]https://dxr.mozilla.org/mozilla-central/source/layout/base/FrameLayerBuilder.cpp#4970
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → WORKSFORME
You need to log in
before you can comment on or make changes to this bug.
Description
•