Closed Bug 916968 Opened 11 years ago Closed 3 years ago

Web content area flickers on startup

Categories

(Firefox for Android Graveyard :: Toolbar, defect, P5)

All
Android
defect

Tracking

(fennec+)

RESOLVED INCOMPLETE
Tracking Status
fennec + ---

People

(Reporter: lucasr, Unassigned)

References

Details

(Keywords: perf)

Attachments

(1 file)

Looks like it's resizing the viewport or something.

Steps to reproduce:
1. Start fennec
2. Tap on website in about:home before gecko is fully loaded

...or...

1. Open a link from a third-party app while Fennec is not running
OS: Linux → Android
Hardware: x86_64 → All
tracking-fennec: --- → ?
I looked into this briefly today and it looks like during startup the page size in GeckoLayerClient is changed by the compositor to be smaller than the viewport. The code in GeckoLayerClient.setPageRect gets the JavaPanZoomController to validate the viewport and fix it so that we aren't in overscroll, but that has to run on the UI thread and there is a frame of composition that sneaks in between, causing the flicker.

If this is a regression (which I believe it is) then it means the compositor is now sending us a small page size when it didn't use to do that before, because none of the code after setPageRect has changed in a while. So we would need to dig deeper into where that page size is coming from.
This hacky patch removes the flicker by forcing the viewport validation right in the setPageRect call, before the composition happens. That way the page size is valid throughout and the composition doesn't look bad. However this means that a function only callable from the UI thread is not being called on the UI thread, so this is bad. And the actual problem is before the call to setPageRect anyway. But I'm putting this patch here to save the state of my investigation.
Blocks: 917802
Need regression window. Leaving it nom'd for now.
I don't see this at all on my Nexus 4 or Galaxy S4 so it's hard to find a regression range here. I'm just loading Google into the browser from a cold state and do not see any flicker?
tracking-fennec: ? → +
Keywords: perf
Blocks: 947390
Lucas, are you still seeing this issue. If so, what device are you using?  
I'm trying to get a regression range but I can't reproduce on Galaxy Note (4.1) or Acer Iconia (3.2)
Flags: needinfo?(lucasr.at.mozilla)
I'm still able to reproduce this on my Nexus 5. I was using a Nexus 4 back when I filed this bug.
Flags: needinfo?(lucasr.at.mozilla)
There is a single flicker when opening a link from a third-party app while Firefox is not running.
This is only reproducible in FF 29. Can not reproduce on FF 30, 31 or 32.
Can not reproduce by tapping on website in about:home before gecko is fully loaded.
filter on [mass-p5]
Priority: -- → P5
I don't see this at all. Re-open if you still do.
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → WORKSFORME
I still see this very often in my Nexus 5. I don't have STR though.
I still see this all the time with current Nightly on HTC One m7. Flicker, little dark grey box, flicker, full background paint.

Happens on cold startup when opening an external intent.
I get the same behavior as in comment 11 on my HTC One Mini (M7 mini) using the latest nightly.
Same flicker with little dark grey box on the left side of the page.

Behavior seen on cold start up when opening external links (from Gmail) in these cases: clean profile and also after some navigation.

STR:
1. Install latest Nightly, but don't start it.
2. Open external links (I tried opening from Gmail)
3. Wait for Nightly to start and load the page.

Results: Flicker with little dark grey box on the left side of the page.
Let's re-open then. Snorp, thoughts?
Status: RESOLVED → REOPENED
Flags: needinfo?(snorp)
Resolution: WORKSFORME → ---
(In reply to Richard Newman [:rnewman] from comment #11)
> I still see this all the time with current Nightly on HTC One m7. Flicker,
> little dark grey box, flicker, full background paint.
> 
> Happens on cold startup when opening an external intent.

Any url? Does it happen consistently?
Flags: needinfo?(snorp)
Any URL. Fairly easy to repro, though I got a really good one, then QuickTime ate the movie, and it took three or four tries to repro again.

240fps video:

http://people.mozilla.org/~rnewman/fennec/bug-916968.mov

You'll see I open an external link in a 'cold' browser, and there's a flash of a grey rectangle before content begins to render.

The fun starts around the 00:38 mark.
We have completed our launch of our new Firefox on Android. The development of the new versions use GitHub for issue tracking. If the bug report still reproduces in a current version of [Firefox on Android nightly](https://play.google.com/store/apps/details?id=org.mozilla.fenix) an issue can be reported at the [Fenix GitHub project](https://github.com/mozilla-mobile/fenix/). If you want to discuss your report please use [Mozilla's chat](https://wiki.mozilla.org/Matrix#Connect_to_Matrix) server https://chat.mozilla.org and join the [#fenix](https://chat.mozilla.org/#/room/#fenix:mozilla.org) channel.
Status: REOPENED → RESOLVED
Closed: 10 years ago3 years ago
Resolution: --- → INCOMPLETE
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: