Floating button causes full page invalidation

VERIFIED FIXED in Firefox 19

Status

()

Core
Layout
VERIFIED FIXED
6 years ago
6 years ago

People

(Reporter: Mayank Bansal, Assigned: mattwoodrow)

Tracking

19 Branch
mozilla20
x86_64
Windows 7
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(firefox19 verified, firefox20 verified)

Details

(URL)

Attachments

(2 attachments)

(Reporter)

Description

6 years ago
Created attachment 675854 [details]
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
(Reporter)

Comment 1

6 years ago
with further testing, this is reproducible only when both

1. HWA off  AND
2. layers.acceleration.disabled = false.
(Reporter)

Updated

6 years ago
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
(Reporter)

Comment 2

6 years ago
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.
(Reporter)

Updated

6 years ago
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
(Reporter)

Updated

6 years ago
Component: General → Layout
(Reporter)

Comment 4

6 years ago
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.
(Reporter)

Updated

6 years ago
Summary: constant full page invalidation on http://grssam.com/ while scrolling with HWA off → Floating button on http://grssam.com/ causes full page invalidation
(Reporter)

Updated

6 years ago
Summary: Floating button on http://grssam.com/ causes full page invalidation → Floating button causes full page invalidation

Comment 6

6 years ago
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
(Assignee)

Comment 7

6 years ago
Created attachment 690698 [details] [diff] [review]
Use the best active scrolled root, even if it isn't a parent of everything

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
Last Resolved: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla20
(Reporter)

Updated

6 years ago
Duplicate of this bug: 813598
(Reporter)

Updated

6 years ago
Depends on: 820901

Updated

6 years ago
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+
https://hg.mozilla.org/releases/mozilla-beta/rev/aeac7e173136
Assignee: nobody → matt.woodrow
status-firefox19: --- → fixed
status-firefox20: --- → fixed
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
status-firefox19: fixed → verified
status-firefox20: fixed → verified
You need to log in before you can comment on or make changes to this bug.