Closed Bug 743800 Opened 8 years ago Closed 8 years ago

We checkerboard the top 2pixels or so when you pull down when at the top.


(Firefox for Android :: General, defect)

Not set



Firefox 14
Tracking Status
firefox14 --- fixed
blocking-fennec1.0 --- +


(Reporter: jrmuizel, Assigned: kats)




(1 file)

Here's the profile of what's happening:

This shows the third pull down triggers a paint. Presumably the front end is causing gecko to paint for some reason.
Also on about:fennec - continually flick down the page to get overscroll, you'll often see several pixels of checkboard at the top of the content.
Assignee: nobody → bugmail.mozilla
blocking-fennec1.0: --- → ?
OS: Linux → Android
Hardware: x86_64 → All
Initial investigation shows this is happening because the LayerRenderer is using two different viewports during the bounce-back. One is the GeckoLayerClient.mCurrentViewTransform that the RenderContext instances get created with (which is the correct one). It also gets viewport properties directly off the LayerController, for example in LayerRenderer.transformToScissorRect(). Since the bounce animation is changing the LayerController viewport at potentially a different rate than the compositor is rendering frames (e.g. if the compositor is too slow), these two viewports could get out of sync and cause the LayerRenderer to paint checkerboard where there shouldn't be any. I think the solution here is to make sure that all LayerRenderer operations on the compositor thread should use the mCurrentViewTransform or the RenderContext instances for viewport information.
blocking-fennec1.0: ? → +
Comment on attachment 615351 [details] [diff] [review]
Ensure all metrics used during one frame of composition are consistent.

Review of attachment 615351 [details] [diff] [review]:

My patch from bug will have bitrotted this a bit but it looks wonderful to me.
Attachment #615351 - Flags: review?(jmuizelaar) → review+
Closed: 8 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.