Last Comment Bug 719447 - Gradients render slow and make checkerboarding happen while panning
: Gradients render slow and make checkerboarding happen while panning
Status: RESOLVED INVALID
[gfx]
:
Product: Firefox for Android
Classification: Client Software
Component: General (show other bugs)
: Trunk
: ARM Android
: P1 normal with 3 votes (vote)
: ---
Assigned To: Nobody; OK to take it and work on it
:
Mentors:
: 714214 721016 (view as bug list)
Depends on: 795247
Blocks:
  Show dependency treegraph
 
Reported: 2012-01-19 08:19 PST by William Lachance (:wlach)
Modified: 2014-08-31 10:39 PDT (History)
16 users (show)
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---
-
+


Attachments

Description William Lachance (:wlach) 2012-01-19 08:19:08 PST
This is probably covered by other bugs, but it can't hurt to file something for this explicitly since it's a very noticeable regression from XUL fennec. 

Steps to reproduce:

1. Load taskjs.org
2. Make two swipes down

The difference between XUL and native is pretty stark on the LG G2X: XUL checkerboards for only a fraction of a second, while you see the checkerboard for a good few seconds on native.

Here's some demonstration videos:

http://people.mozilla.com/~wlachance/taskjs_xul.webm
http://people.mozilla.com/~wlachance/taskjs_native.webm

I've got an eideticker test to automatically do this. I can post updated videos as things are fixed.
Comment 1 William Lachance (:wlach) 2012-01-19 08:32:30 PST
(CCing folks on the eideticker thread, as well as mobile devs responsible for this stuff who might be interested)
Comment 2 Mark Finkle (:mfinkle) (use needinfo?) 2012-02-23 09:48:07 PST
*** Bug 714214 has been marked as a duplicate of this bug. ***
Comment 3 Kevin Brosnan [:kbrosnan] 2012-02-23 18:12:43 PST
This is still rather ugly on a Maple tinderbox build. Though there are still a number of checkerboarding improvements that the gfx team have in the works. Leaving qawanted so that we can re-check after those land.
Comment 4 Aaron Train [:aaronmt] 2012-03-19 09:51:30 PDT
Still able to reproduce on the recently merged Maple builds on Nightly (03/19).

--
Tested via Galaxy Nexus (Android 4.0.2)
Nightly (03/19)
Mozilla/5.0 (Android; Mobile; rv:14.0) Gecko/14.0 Firefox/14.0a1
Comment 5 William Lachance (:wlach) 2012-03-20 08:02:11 PDT
Chris Lord mentioned on irc that it was speculated that the issue is with radial gradients on this page. I can confirm this. I was able to reduce the checkerboarding to almost nothing by changing this:

body {
  margin: 0;
  border-top: solid 2px #707070;
  padding: 80px 0;
  background-image: url("noise.png"), -webkit-gradient(radial, 50% 0%, 0, 50% 0%, 750, color-stop(0%, #fff), color-stop(100%, #d0e0ff));
  background-image: url("noise.png"), -webkit-radial-gradient(top center, #fff, #d0e0ff 750px);
  background-image: url("noise.png"), -moz-radial-gradient(top center, #fff, #d0e0ff 750px);
  background-image: url("noise.png"), -o-radial-gradient(top center, #fff, #d0e0ff 750px);
  background-image: url("noise.png"), radial-gradient(top center, #fff, #d0e0ff 750px);
}

To this:

body {
  margin: 0;
  border-top: solid 2px #707070;
  padding: 80px 0;
  background-image: url("white.png");
}

I guess most likely this means that we're checkerboarding because radial gradients are really slow to draw. I notice almost no checkerboarding on this page on my iPhone or with the stock browser.
Comment 6 William Lachance (:wlach) 2012-03-20 08:03:34 PDT
(of course this doesn't explain why native performs so much worse on this metric than xul fennec, when they both use ~ the same drawing code)
Comment 7 Chris Lord [:cwiiis] 2012-03-20 09:12:56 PDT
(In reply to William Lachance (:wlach) from comment #6)
> (of course this doesn't explain why native performs so much worse on this
> metric than xul fennec, when they both use ~ the same drawing code)

I expect that the default cache viewport size in xul-fennec actually means the entire page fits into the display-port, and so you would never see checker-boarding.
Comment 8 Mark Finkle (:mfinkle) (use needinfo?) 2012-04-16 11:59:23 PDT
*** Bug 721016 has been marked as a duplicate of this bug. ***
Comment 9 Kevin Brosnan [:kbrosnan] 2012-10-04 10:53:35 PDT
Snorp, Blassey said you are working on something about handling gradients GPU.
Comment 10 James Willcox (:snorp) (jwillcox@mozilla.com) 2012-10-04 11:06:17 PDT
(In reply to Kevin Brosnan [:kbrosnan] from comment #9)
> Snorp, Blassey said you are working on something about handling gradients
> GPU.

Definitely not me. Maybe Cwiiis? Bug 795247
Comment 11 Chris Lord [:cwiiis] 2014-05-21 07:29:53 PDT
I'm not sure that this is even still the case now, but checkerboarding is not a huge concern anymore (because of Gecko improvements and better commodity hardware).
Comment 12 William Lachance (:wlach) 2014-08-31 10:39:52 PDT
Yeah, I don't think this bug really has anything actionable in it anymore.

Note You need to log in before you can comment on or make changes to this bug.