Open Bug 1242821 Opened 4 years ago Updated 3 years ago

"Scroll of Lorem Ipsum" demo scrolls poorly

Categories

(Core :: Panning and Zooming, defect, P3)

48 Branch
defect

Tracking

()

Tracking Status
firefox47 --- wontfix
firefox48 --- wontfix
firefox49 --- wontfix
firefox50 --- wontfix
firefox51 --- wontfix
firefox52 --- wontfix
firefox53 --- affected

People

(Reporter: mattwoodrow, Unassigned)

References

()

Details

(Keywords: perf, Whiteboard: [gfx-noted])

Attachments

(1 file)

See URL field for testcase.

This scrolls really smoothly on chrome, but is quite delayed on firefox (with APZ).

The demo is using separate copies of the content for each segment in the ends, and updates the positions of all the copies during an rAF callback to match the scroll position of the primary content.
See Also: → 1241394
Attached file Layer tree
Nice layer tree :)

Matt, does this layer tree look reasonable to you? If not, we should probably address any Layout issues that give rise to this layer tree first.
Attachment #8712347 - Flags: feedback?(matt.woodrow)
It's reasonable in the sense that it's what the page is asking for.

The page makes two DOM clones of the scrolled content for each 'segment' of the curled ends. By default there are 20 segments ('num' in the page source).
Attachment #8712347 - Flags: feedback?(matt.woodrow)
Whiteboard: [gfx-noted]
Not really sure what to do about this one. I guess if we can make painting fast enough it would improve the behavior. I got a profile at https://cleopatra.io/#report=d3e2877c45b1eb0e0f1674ac4095a0baae2dd21a but nothing jumps out at me.
Keywords: perf
This is a testcase where empty transactions for transform changes should actually help. But unfortunately we're not hitting that path. And the painting in the profile indicates that the transforms are not prerendered.
You need to log in before you can comment on or make changes to this bug.