Closed Bug 1163548 Opened 9 years ago Closed 8 years ago

Categories

(Core :: Graphics: Layers, defect)

36 Branch
Unspecified
Linux
defect
Not set
normal

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: smaug, Unassigned)

References

()

Details

Attachments

(2 files)

Scrolling is particularly bad with e10s+apz, but also with non-e10s/apz scrolling the top part of the page is very jank-y.

(about to do some profiling once I have up-to-date opt-build ready)
>50% time is on X / pixman side (are we using X inefficiently?).
Do you have a profile you can link/attach?
Blocks: apz-desktop
OS: Unspecified → Linux
Attached file Zoom profile for X (deleted) —
Attached file Zoom profile for Firefox (deleted) —
These are both non-e10s/apz
This is all X and our use of X, but
nsWindow::GetClientOffset is oddly slow. Should we perhaps cache its value?
If we can cache it that would probably help considering how big it is in the profiles. I don't know enough about the GTK APIs to know how we might clear the cache when it changes though. Karl, do you know?
No longer blocks: apz-desktop
Flags: needinfo?(karlt)
See bug 1077652 comment 58 and bug 1097114 (and bug 1128934 comment 3 for a different approach).
Thanks! Removing ni since karlt has already explained this multiple times it seems :)
Flags: needinfo?(karlt)
There is something else going wrong on this page - we repaint the top strip of the header image on every refresh driver tick, and the whole header on every scroll. If I remove background-blend-mode: soft-light from the .page-header CSS rule, those repaints go away.
Assignee: nobody → lsalzman
Status: NEW → ASSIGNED
I'll debug the invalidation bug.
Assignee: lsalzman → mstange
Do we still suffer from slow nsWindow::GetClientOffset?
It looks like the invalidation bug is gone, so even if we were still using xrender, we wouldn't flood the window server with painting any more, so a slow nsWindow::GetClientOffset probably wouldn't be noticeable on this page any more.
Flags: needinfo?(lsalzman)
(In reply to Markus Stange [:mstange] from comment #12)
> Do we still suffer from slow nsWindow::GetClientOffset?
> It looks like the invalidation bug is gone, so even if we were still using
> xrender, we wouldn't flood the window server with painting any more, so a
> slow nsWindow::GetClientOffset probably wouldn't be noticeable on this page
> any more.

We fixed GetClientOffset so that it should now just access a member variable in nsWindow. Shouldn't cause any more traffic into GTK.
Flags: needinfo?(lsalzman)
Looks like this was fixed by bug 1196494 and by a blending / invalidation change.
Assignee: mstange → nobody
Status: ASSIGNED → RESOLVED
Closed: 8 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: