Open Bug 1368835 Opened 7 years ago Updated 2 years ago

tweetdeck scrolling jank (gecko profile included)

Categories

(Core :: General, enhancement)

x86
Windows 7
enhancement

Tracking

()

Tracking Status
firefox57 --- affected

People

(Reporter: asa, Unassigned)

References

()

Details

Tweetdeck scrolling is very janky for me with pauses that seem to last up to a second or even more.  Here's a profile of scrolling jank: https://perfht.ml/2rSbwDI

Tested with latest 64-bit nightly on Windows 7
Looks like its spending a lot of time in PCookieService which is synchronous IPC.  Michael, was fixing this part of the permissions stuff you were looking at?
Flags: needinfo?(michael)
I think you want bug 1331680, which is looking into removing this sync IPC entirely :).
Depends on: 1331680
Flags: needinfo?(michael)
The PCookieService isn't the problem here; the problem is the compositor thread being blocked for multiple seconds in GetDeviceRemovedReason: https://perfht.ml/2qxk2YS

Bas, do you know why this is taking so long?

(PCookieService shows up in this profile because it's blocking on the parent process main thread, which is waiting for the compositor thread, which is waiting for GetDeviceRemovedReason. Fixing bug 1331680 might remove the content process jank, but the browser would still appear hung because the screen won't update while the compositor is hanging.)
No longer depends on: 1331680
Flags: needinfo?(bas)
(In reply to Markus Stange [:mstange] from comment #3)
> The PCookieService isn't the problem here; the problem is the compositor
> thread being blocked for multiple seconds in GetDeviceRemovedReason:
> https://perfht.ml/2qxk2YS
> 
> Bas, do you know why this is taking so long?
> 
> (PCookieService shows up in this profile because it's blocking on the parent
> process main thread, which is waiting for the compositor thread, which is
> waiting for GetDeviceRemovedReason. Fixing bug 1331680 might remove the
> content process jank, but the browser would still appear hung because the
> screen won't update while the compositor is hanging.)

This has been mentioned in several bugs. The answer is generally this -isn't- taking so long. There's a busy-loop there while the GPU is busy, this loop spends practically all its time in GetDeviceRemovedReason. Which is likely why it shows up in there.
Flags: needinfo?(bas)
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.