Closed Bug 806099 Opened 7 years ago Closed 7 years ago

Floating button causes full page invalidation

Categories

(Core :: Layout, defect)

19 Branch
x86_64
Windows 7
defect
Not set

Tracking

()

VERIFIED FIXED
mozilla20
Tracking Status
firefox19 --- verified
firefox20 --- verified

People

(Reporter: mayankleoboy1, Assigned: mattwoodrow)

References

()

Details

Attachments

(2 files)

Attached file about support.txt
User Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:19.0) Gecko/19.0 Firefox/19.0
Build ID: 20121027030611

Steps to reproduce:

1. enable debug paint flashing.
2. Disable HWA
3. go to : http://grssam.com/
4. Scroll down/up
5. See the psychedelic world!


Actual results:

Constant repaints. 

 If possible, check CPU usage during scrolling. Hits 80% usage on my system. For a simple page, CPU usage shouldnt be this high.


Expected results:

minimal repainting.
With HWA on, the repainting is minimal.

Also made a note of this on Taras' blog here : https://blog.mozilla.org/tglek/2012/10/26/snappy-42/#comments
with further testing, this is reproducible only when both

1. HWA off  AND
2. layers.acceleration.disabled = false.
Summary: with HWA off, constant invalidation on http://grssam.com/ while scrolling → with HWA off and layers acceleration enabled, constant invalidation on http://grssam.com/ while scrolling
This also causes 100% CPU usage. 
Profiler link :  http://people.mozilla.com/~bgirard/cleopatra/?report=da6f29d78630bd41b1f3a67cbf3eeffb0d74167a

BoxBlurVertical and BoxBlurHorizontal are present a lot in the profile.
Summary: with HWA off and layers acceleration enabled, constant invalidation on http://grssam.com/ while scrolling → constant full page invalidation on http://grssam.com/ while scrolling with HWA off
Component: General → Layout
So after more testing, i found that a specific element on the page causes the invalidation. 
The element is the floating "back to top" button that appears on the page when you scroll a little.  If you use Adblockplus to hide this element, there will be no invalidation.

Better STR :
1. Disable HWA
2. Go to http://grssam.com/
3. Scroll down a bit. Stop scrolling.
4. A floating button labeled "back to top" will appear on the bottom of the screen.
5. Now start scrolling again. 

6. There will be full page invalidation.
Summary: constant full page invalidation on http://grssam.com/ while scrolling with HWA off → Floating button on http://grssam.com/ causes full page invalidation
Summary: Floating button on http://grssam.com/ causes full page invalidation → Floating button causes full page invalidation
We do get a whole page invalidation on scrolling with layers disabled on the original URL, which is weird because I didn't think we changed invalidation or layerisation depedning on the layers backend.
Status: UNCONFIRMED → NEW
Ever confirmed: true
I can't see any reason why this wouldn't work, fixes this page.

It also stops us from choosing a new active scrolled root when we recurse into ProcessDisplayItems for a clip.
Attachment #690698 - Flags: review?(roc)
https://hg.mozilla.org/mozilla-central/rev/1cc90ffcd6b6
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla20
Duplicate of this bug: 813598
Depends on: 820901
Blocks: 828206
Comment on attachment 690698 [details] [diff] [review]
Use the best active scrolled root, even if it isn't a parent of everything

[Approval Request Comment]
Bug caused by (feature/regressing bug #): 810302
User impact if declined: Loss of cleartype in some cases (bug 828206)
Testing completed (on m-c, etc.): more than 6 weeks on central
Risk to taking this patch (and alternatives if risky): pretty low risk given the exposure already
String or UUID changes made by this patch: none
Attachment #690698 - Flags: approval-mozilla-beta?
Comment on attachment 690698 [details] [diff] [review]
Use the best active scrolled root, even if it isn't a parent of everything

We have heard a lot of users reporting this in 18.0 & approving the low risk fix for beta to get this fixed in Fx 19 timeframe
Attachment #690698 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
I confirm this fix is verified on FF 19b3 on Windows 7 x64.

Mozilla/5.0 (Windows NT 6.1; WOW64; rv:19.0) Gecko/20100101 Firefox/19.0(20130123083802)
I confirm the fix is verified on FF 20.b1 too following STR from Comment 0:

Mozilla/5.0 (Windows NT 6.1; rv:20.0) Gecko/20100101 Firefox/20.0
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.