Closed Bug 1052751 Opened 5 years ago Closed 3 years ago

Trivial fullscreen app causes 300% overdraw on Flame v2.0

Categories

(Core :: Graphics: Layers, defect)

x86
macOS
defect
Not set

Tracking

()

RESOLVED FIXED

People

(Reporter: BenWa, Assigned: BenWa)

References

Details

Attachments

(3 files, 3 obsolete files)

Attached file app.zip
As identified by the regression window: http://goo.gl/PsAzqE

It looks like b2g master hit 200% overdraw on this app (before this was regressed) but it looks like this optimization never made it into v2.0. We should find out if it's possible to uplift that optimization into v2.0.

But it also looks like this is not a regression so it's likely not required that we block the v2.0 release on this fix.
We don't perform culling on the app's reflayer because it has a NonIdentify transform caused by the viewport.
Attached patch Part 1: Cull translated layers (obsolete) — Splinter Review
Building on your work to perform simple culling in the compositor.
Assignee: nobody → bgirard
Status: NEW → ASSIGNED
Attachment #8472585 - Flags: review?(roc)
Comment on attachment 8472585 [details] [diff] [review]
Part 1: Cull translated layers

Review of attachment 8472585 [details] [diff] [review]:
-----------------------------------------------------------------

::: gfx/layers/composite/ContainerLayerComposite.cpp
@@ +334,4 @@
>      }
>    }
>  
> +#ifdef CULL_LOGGING

You might want to consider enabling the logging the way we do it in APZ, see e.g.:

http://mxr.mozilla.org/mozilla-central/source/gfx/layers/apz/src/APZCTreeManager.cpp?rev=4b96541d8a0d#28
Attached patch Part 1: Cull translated layers (obsolete) — Splinter Review
Attachment #8472585 - Attachment is obsolete: true
Attachment #8472585 - Flags: review?(roc)
Attachment #8472625 - Flags: review?(roc)
This gets the settings app overdraw to 100-130%.
Attachment #8472625 - Attachment is obsolete: true
Attachment #8472625 - Flags: review?(roc)
Attachment #8472689 - Flags: review?(roc)
This has an interaction with the overscroll since I'm using the base transform. We talked about a similar problem botond recently. Let's chat tomorrow.
remote:   https://tbpl.mozilla.org/?tree=Try&rev=5b427405f581
remote: Alternatively, view them on Treeherder (experimental):
remote:   https://treeherder.mozilla.org/ui/#/jobs?repo=try&revision=5b427405f581
Turns out that my patch does change the overscroll in cases where the app incorrectly got the right over scroll color from an unrelated layer. My patch just changes the undefined behavior cases.
Blocks: 1053975
No longer blocks: 1053975
Depends on: 1053975
Disabling for fixed/sticky position layer:

https://tbpl.mozilla.org/?tree=Try&rev=bcd2a260cd0d
Attachment #8472689 - Attachment is obsolete: true
Attachment #8474656 - Flags: review+
Status: ASSIGNED → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Removing leave-open keyword from resolved bugs, per :sylvestre.
Keywords: leave-open
You need to log in before you can comment on or make changes to this bug.