Closed Bug 699144 Opened 13 years ago Closed 1 year ago

Scrolling new gmail is really slow

Categories

(Core :: Layout, defect)

x86
All
defect

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: jrmuizel, Unassigned)

References

Details

(Whiteboard: [snappy:p2] [platform-rel-Google] [platform-rel-Gmail])

The new gmail scrolls really slow on OS X. It works fine in Safari.
Some profiling:

10% in DisplayList construction stuff
58% in painting (most of this seems to be spent in places not doing real work)
13% is CGBitmapContextCreateImage


5.4% is memcpy on texture upload

The vm crazyness of CGBitmapContextCreateImage is really hurting us here.
Scrolls awful on Win7 as well w/ D2D enabled.
OS: Mac OS X → All
Hmm, I actually thought it was good on Windows with D2D.

What exactly are you scrolling?
and I assume you're using a build with the fix for bug 681867?
Yes, my build includes bug 681867. I'm running a 10/31 trunk build. I find a lot of jerkiness when scrolling through an expanded conversation with the down arrow. Also, there's an initial lag in scrolling when I first the arrow that's very noticeable.
(In reply to Jeff Muizelaar [:jrmuizel] from comment #1)
> The vm crazyness of CGBitmapContextCreateImage is really hurting us here.

So bug 665293 again. Sounds like somebody needs to bite the bullet and do the things outlined in bug 665293 comment 17.
I don't have a Mac at the moment, so if Jeff could do that, I'd love to review it :-).
I can confirm the jerkiness that Ryan is seeing, but again only when using the down arrow. Scrolling with the mouse wheel feels really smooth.

[Latest Nightly x64 on Windows 7 x64 with D2D]
If someone with a clean tree could try an experiment? Set GENERATION_MS in LayerActivityTracker in nsFrame.cpp to something really large, say 100000, and see if that helps.
I'm still not really seeing this on Windows. My machine is pretty fast though.

Do you get dev.planning in email? if so, can you give me a dev.planning thread to view and exact steps to reproduce (which view, which messages are expanded etc)? Maybe a screenshot to illustrate so I'm doing it right?

In bug 681867 I gave a bookmarklet that can be used to run specific tests to get a reproducible number. What I'd like most of all here is specific steps to reproduce that end up running that bookmarklet, and numbers showing us slower than other browsers.
Blocks: 699523
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:10.0a1) Gecko/20111103 Firefox/10.0a1
CPU: Intel E6300 (1.86GHz dual core)
RAM: 6GB
VGA: ATI 3650 (Catalyst driver 11.10)

Gmail is affecting autoscrolling of other tabs as well.

Step to reproduce:
1. Use a new profile and enable autoscrolling;
2. Open a long page (I use https://bugzilla.mozilla.org/show_bug.cgi?id=94199);
3. Autoscroll the page. CPU usage is at most 5% even autoscrolling at high speed;
4. Log in to Gmail on a new tab;
5. Switch back to previous page and autoscroll. CPU usage is now around 15% to 30%;
6. Close Gmail (and wait for a few minutes). Autoscrolling in other pages is still using more CPU than usual, and sometimes periodic pauses.

Autoscrolling performance restores only if I restart Firefox and avoid visiting Gmail again.

FWIW, CPU usages within Gmail when autoscrolling are around 30% in Nightly (and Release), IE 9.0.3, and Chrome 15. However autoscrolling is fine in other tabs in IE and Chrome.

FWIW(2), both new and old gmail interface affect autoscrolling performance.
After some more testings I find that my issue stated in comment#11 is caused by the plugin-contatiner.exe controlling Flash, which Gmail uses it for the chat function.

Killing the plugin-container.exe or setting dom.ipc.plugins.enabled to false restores the scrolling performance of other tabs. But scrolling within Gmail is still using more CPU than other sites.
(In reply to Robert O'Callahan (:roc) (Mozilla Corporation) from comment #9)
> If someone with a clean tree could try an experiment? Set GENERATION_MS in
> LayerActivityTracker in nsFrame.cpp to something really large, say 100000,
> and see if that helps.

Finally did a build today with this change. Still very jerky when scrolling with the down arrow. The easiest way I've found to reproduce is to set Gmail to display 100 messages at a time, click the All Mail link, and then scroll with the up/down arrow. It stutters badly.

Let me know if you want me to try something else.
Whiteboard: [snappy]
Whiteboard: [snappy] → [snappy:p2]
This shouldn't be a Snappy bug as we have bug 675866 to track improvements for scrolling and bug 100951 to track slow scrolling testcases.
Whiteboard: [snappy:p2] → [snappy:p2] [platform-rel-Google] [platform-rel-Gmail]
platform-rel: --- → ?
platform-rel: ? → ---
Severity: normal → S3
Status: NEW → RESOLVED
Closed: 1 year ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.