Closed
Bug 356201
Opened 18 years ago
Closed 9 years ago
message-list pane: slow mousewheel scrolling and scroll bar arrows, high cpu
Categories
(Thunderbird :: Folder and Message Lists, defect)
Tracking
(Not tracked)
RESOLVED
INCOMPLETE
People
(Reporter: bugzilla.i.sekler, Unassigned)
References
Details
(Keywords: perf, Whiteboard: [needs profile])
Attachments
(2 files)
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1) Gecko/20060925 Firefox/2.0
Build Identifier: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1) Gecko/00000000 Thunderbird/2.0b1pre
The message-list pane reacts with a visible delay on mousewheel scrolling. Linux-only.
checkout start: Di 10. Okt 19:32:01 CEST 2006
Reproducible: Always
Steps to Reproduce:
1. Open a mail folder containing a lot of messages to make scrollbars appear
2. Scroll the message list with the mousewheel
3.
Actual Results:
There is a perceptible delay between the movement of the mousewheel and the movement of the message list.
Expected Results:
No delay, like the scrolling works in the message pane.
Looks like a side effect of Bug 345887. Putting
#threadTree treechildren::-moz-tree-row(odd) { background-image: none !important; }
into userChrome.css works around the underlying issue.
Reporter | ||
Updated•18 years ago
|
Version: unspecified → 2.0
Reporter | ||
Comment 1•18 years ago
|
||
The problematic place is http://lxr.mozilla.org/mozilla1.8/source/mail/themes/qute/mail/mailWindow1.css#852
Reporter | ||
Comment 2•18 years ago
|
||
http://lxr.mozilla.org/mozilla1.8/source/mail/themes/qute/mail/mailWindow1.css#353 after the latest checkins from the Bug 362560, Bug 278096 and Bug 360591 for now.
Comment 3•17 years ago
|
||
That code snippet definitely helps a little, but the tree still is not as fast as known from other mail applications/list views while scrolling. Using thunderbird3.0alpha.
Comment 4•16 years ago
|
||
Martin, are you linux?
Ilja, do you still see this on trunk?
Assignee: mscott → nobody
Comment 5•16 years ago
|
||
Wayne: yes, on Linux.
Also using a very recent nightly, I can still confirm that it is not super fast. With this userChrome.css hack it's however definitely usable on a 330mail folder.
I also noticed a big difference, when Thunderbird is in "wide" or "classical" view, the display is nearly instant as expected, only with the bigger "vertical" view, the performance problems become apparent, when the mail view is >1000px high on my screen.
Reporter | ||
Comment 6•16 years ago
|
||
(In reply to comment #4)
> Ilja, do you still see this on trunk?
Yes, though it is less severe than on the 1.8 branch. The delay seems to be proportional to the number of messages fitting into the message list pane. That is why vertical view is more affected than the classical view with message pane (F8) turned on. Turn the message pane off and there is no difference anymore.
Further, the effect depends strongly on the available 2D graphics hardware acceleration provided by the video driver. For example, nv is much worse than nvidia, making nv better for reproducing the issue.
Reporter | ||
Comment 8•16 years ago
|
||
(In reply to comment #7)
> does the workaround in comment 0 still "fix" the problem?
No, but it improves the situation a lot. The workaround reduces the delay very clearly, though the scrolling still doesn't feel same solid as with Thunderbird 1.0 for example.
Using scroll buttons instead of the mousewheel makes it more difficult to feel the problem but much more easy to measure it: I have a mail folder with 281 messages, 46 fit into the message list pane window if the message pane is turned off. Time needed to scroll from bottom to top pressing the upper scroll button:
without the workaround: 28 seconds;
with the workaround: 13 seconds.
Tested with Thunderbird 3.0a2pre (X11/2008052803).
Comment 9•16 years ago
|
||
Do you also see high CPU? I see high cpu in 2.0 and trunk hen using arrows of the vertical scroll bar. and as Ilja says it's proportional to # messages in thread pane. Don't see high cpu in version 1.0.7 (20050923) - highest is ~10%. Don't see this when dragging slider.
Also see bug 348507, but according to Samuli the partial workaround here doesn't affect 348507 - so marking it dependent (seems likely these are the same, or related)
xref bug 310912 which suggests problem is "treebody has transparent background by default."
So is this XUL performance issue?
Comment 10•16 years ago
|
||
I see high cpu usage when using arrows and scrolling but less cpu usage.
version 3.0a2pre (2008060703)
Comment 11•16 years ago
|
||
> So is this XUL performance issue?
Seems so. I also tested with Options->Advanced->Certificates->View Certificates and even with Firefox3, View Cookies.
While the problem isn't that noticeable there, I certainly do view a difference in perceived scrolling speed whenever those listviews get larger. Also a very interesting point is, that not only vertical size, but also horizontal size of the view.
I also tested with a "native" GTK+ app (file-roller), there even at 1680x1050, the listview scrolls absolutely fluid, so it's not a theme/graphics card issue.
Slightly off-topic, but XUL performance under linux is still very bad, if I open the File menu, and keep hitting <Right>, it is very slow, compared to native gtk apps where the menus just fly by.
Comment 12•16 years ago
|
||
I've been having this issue with Thunderbird on Ubuntu. Would love to see this get fixed. Switching to the classic view helps immensely, but not really a solution. Also noticed similar performance issues in Firefox. Should this be lodged as a XUL bug instead?
Hardware wise, I'm running a Core2 Duo T7800, 4GB ram and a Quadro FX 570M. Also had the same issue on a Athlon 64 3200+, 1GB ram and a 6600GT.
Comment 13•16 years ago
|
||
I've got this issue on linux since switching to 2.0 and higher. I fear that most people at least on linux are affected by this bug, but they don't show up because they think it's normal.
I'm running gentoo-64bit
Comment 14•16 years ago
|
||
cc: some linux ppl for comment
David Muir in comment #12:
> .... Switching to the classic view helps immensely
errr, switching from what?
Comment 15•16 years ago
|
||
Switching from Vertical View (sorry, forgot that the classic view is the default). I like the vertical view, but runs too slow.
The mac based themes also seem to be a bit faster.
Comment 16•16 years ago
|
||
I never noticed, but dragging the scroll bar up and down repeatedly does make the cpu go up quite a bit (at least to ~20%).
Comment 17•16 years ago
|
||
yes, this bug is a major problem for us since we switched to linux ;-(
Comment 18•16 years ago
|
||
I am not sure why this is not the top priority. True; this is not a show stopper but it is making people hate TB and is very annoying when working with tons of emails every day. Is there any any successful workaround? I couldn't find userChrome.css so couldn't do that. I am running TB 2.0.0.17 on RHEL5.2.
Changing the theme to whiteart and view to classic did make significant difference but a solution is still highly anticipated as this is forcing users to change the settings against their will and make TB look like a CLI tool.
Comment 19•16 years ago
|
||
userChrome.css doesn't exist by default. You have to create the file in the chrome folder under your profile
~/.mozilla-thunderbird/{profile}/chrome
The Linux version of XULRunner needs a lot more work. Firefox has similar issues...
Comment 20•16 years ago
|
||
Same problem here, and using Thunderbird 3.0b1. I have lots of mail messages on list and then scrolls like a old turtle =/
Comment 21•16 years ago
|
||
I updated my old PC (Pentium4, 1GB RAM, GeForce 5900FX with 96.xx drivers) to a new one (corei7, 6GB RAM, GeForce 9600GT, 180.27 drivers) and the problem seems to be fixed.
I am not sure if the 180.xx drivers alone did it, or just the new pc, but maybe this has been a nvidia driver issue?
Comment 22•16 years ago
|
||
I have access to another machine - a quad-core where scrolling is almost smooth. However:
- CPU usage spikes enormously when scrolling. The faster cpu is just able to handle the load good enough
- Newer nvidia drivers certainly don't fix the problem:
At the mozilla devs: this bug is now over 2 years old and there is not even a sign of a solution. Do you even care about linux support? I assume everybody using TB on linux is affected
Comment 23•16 years ago
|
||
(In reply to comment #22)
> I assume everybody using TB on linux is affected
Why?
Comment 24•16 years ago
|
||
(In reply to comment #23)
> (In reply to comment #22)
> > I assume everybody using TB on linux is affected
>
> Why?
I use TB on about 4 different linux machines - one being a RHEL 5.something, two of them being Gentoo with completely different HW-configurations and a Debian machine and all show the issue.
As others in this thread have stated, scrolling in other "native" gtk apps just scroll smooth - on all platforms.
I'm a Software Engineer myself - so for me the likelyhood of this being an issue in Thunderbird (or XulRunner for that matter) is very high. That's why I said "I assume"
Comment 25•16 years ago
|
||
FYI: I'm on Debian Sid, and my problem is with "Iceweasel", which is the Debian version of Firefox. (Only the names have been changed). Extremely slow scroll of windows using mouse or keyboard.
Comment 26•16 years ago
|
||
(In reply to comment #25)
> FYI: I'm on Debian Sid, and my problem is with "Iceweasel", which is the Debian
> version of Firefox. (Only the names have been changed). Extremely slow scroll
> of windows using mouse or keyboard.
However, no problem with Thunderbird.
Comment 27•16 years ago
|
||
Just installed the real "Firefox". Same problem.
Comment 28•15 years ago
|
||
Confirming bug. I'd also like to add that I've been considering switching to Evolution, but it has a few features missing. I'd advice trying Evolution to notice the difference in scroll speed. This issue is also noticeable if you compare with a native GTK(2) app.
ProblemType: Bug
Architecture: amd64
DistroRelease: Ubuntu 9.04
NonfreeKernelModules: nvidia
Package: thunderbird 2.0.0.21+nobinonly-0ubuntu1.9.04.1
ProcEnviron:
SHELL=/usr/bin/zsh
PATH=(custom, user)
LANG=en_GB.UTF-8
SourcePackage: thunderbird
Uname: Linux 2.6.28-11-generic x86_64
Comment 29•15 years ago
|
||
Are people using a lot/any custom columns provided by extensions who experience these problems? Custom columns, assuming they are implemented in C++, have a non-trivial performance cost and can add up if you have a number of them.
Comment 30•15 years ago
|
||
This happens with a stock install (no extensions or extra columns).
Comment 31•15 years ago
|
||
likewise.
Comment 32•15 years ago
|
||
I also experience this bug, without any extra columns. That's exactly the problem: the Thunderbird experience is pretty bad out of the box. I'm using Ubuntu 8.10 with the "nvidia" driver and an AMD 64 3000+
Comment 33•15 years ago
|
||
I can confirm this problem! I am running Gentoo/KDE 3.5 on a fairly new and optimized system with Xorg configured well and good scrolling in FF. I've experience jerky scrolling in the Thunderbird message pane for the longest time and assumed it was "normal", as the poster above mentioned. When I saw smooth scrolling using Thunderbird on Windows machines, I noticed something was wrong. The chrome css fix described above seems to help a little, but the scrolling is still below par. Often, heavy use of fixed background images in FF can cause jerky page scrolling, and this situation feels the same way. Perhaps it is trying to render something unnecessarily, such as a background?
Comment 34•15 years ago
|
||
I'm amazed that only 33 people have noticed this.
Comment 35•15 years ago
|
||
I've been having this problem with Thunderbird for years on Linux-based systems. From Ubuntu/Debian, RedHat, SuSE and even Slackware. It seems to have no bearing on video card/drivers, processor speed etc. It's gotten so frustrating I've just switched to using Alpine.
I have tested this problem on four current systems, Three Ubuntu 9.04 and 1 9.10. Two using openchrome, another intel 2.4, and the last nvidia's latest 184.xxx video drives. 2 systems are dual core athlons 3000+ and 5000+, an Athlon-m 2200+ and an intel core duo 1.8ghz (laptop). The problem is identical across all 3 systems with the same mailbox. Memory ranges on these system from 512MB to 5GB with no noticeable difference in performance in Thunderbird.
Comment 36•15 years ago
|
||
(In reply to comment #13)
> I've got this issue on linux since switching to 2.0 and higher.
Benjamin, et al, so this didn't happen in v1.5?
has anyone attempted to confirm this is caused by Bug 345887?
given that it's high cpu, might a trace be helpful?
Component: Mail Window Front End → Folder and Message Lists
QA Contact: front-end → folders-message-lists
Reporter | ||
Comment 37•15 years ago
|
||
If it still matters for TB 3.1b1pre: CPU goes high up to appr. 40% when scrolling the message list fast. Turning the date column off doesn't make any difference. gnomestripe doesn't use transparent images for odd rows and the scroll feeling is good enough for me.
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.2pre) Gecko/20100224 Lightning/1.0b2pre Thunderbird/3.1b1pre
Comment 38•15 years ago
|
||
Given the contents of the strace log and your attempt at turning off the date column (given that only the stat on /etc/localtime stood out as redundant), I don't think there's anything useful in there.
At this point, the only thing likely to help is a profiling run, preferably whole-system, to find what the hot spots are. You will need to make sure you have debugging symbols; assuming you are using your distribution's build, I think there should be supplementary packages that contain them. If you are using mozilla builds, then you will need to actually perform your own build with "ac_add_options --enable-debugger-info-modules=yes" in the mozconfig.
Once you have that, I would suggest giving 'sysprof' a whirl... it's probably the easiest option for a first try. (Systemtap or the kernel 'perf' tool would probably be the appropriate choices for more thorough investigation/aggregation on the actual stack frames.)
Reporter | ||
Comment 39•15 years ago
|
||
(In reply to comment #38)
> Given the contents of the strace log and your attempt at turning off the date
> column (given that only the stat on /etc/localtime stood out as redundant), I
> don't think there's anything useful in there.
If the stat on /etc/localtime is redundant, it should be IMVHO avoided (maybe as well as 7795 calls gettimeofday() in the log), even if my computer is fast enough to cope with the redundant calls.
I just realized that Thunderbird doesn't scroll the message list at all. It seems to repopulate the content of the message list pane line-wise on mousewheel turn or on moving the thumb in the slider, which imitates scrolling to some extent. This is the biggest difference to native applications like e.g. Nautilus and AFAIR to TB 1.0, which first generate a full list of the content of a folder and then move it pixel-wise when pulling the thumb.
I'll look into profiling if it becomes definitely required, but I suspect that the root of the problem is this strange way TB simulates scrolling in the message list pane.
See Also: → https://launchpad.net/bugs/38054
Comment 40•14 years ago
|
||
(In reply to comment #39)
> I just realized that Thunderbird doesn't scroll the message list at all. It
> seems to repopulate the content of the message list pane line-wise on
> mousewheel turn or on moving the thumb in the slider, which imitates scrolling
> to some extent.
this is based on observation only?
or an examination of the code (static or trace while running)?
or a log?
> I'll look into profiling if it becomes definitely required, but I suspect that
> the root of the problem is this strange way TB simulates scrolling in the
> message list pane.
I think it's still needed
Reporter | ||
Comment 41•14 years ago
|
||
(In reply to comment #40)
> (In reply to comment #39)
>> I just realized that Thunderbird doesn't scroll the message list at all.
>> It seems to repopulate the content of the message list pane line-wise on
>> mousewheel turn [...]
>
> this is based on observation only?
> or an examination of the code [...]?
The former, unfortunately. Later I saw that this is generally the way a tree is scrolled (<http://mxr.mozilla.org/mozilla1.9.2/source/toolkit/content/widgets/tree.xml#673>??) and thus not Thunderbird specific. "about:config" in Firefox behaves exactly the same.
>> I'll look into profiling if it becomes definitely required [...]
>
> I think it's still needed
Gzip-compressed sysprof output from a debug branch build attached.
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.13pre) Gecko/20101103 Lightning/1.0b3pre Thunderbird/3.1.7pre
SourceStamp=be15794e4a90
Comment 42•14 years ago
|
||
ludo, asuth, anything notable in the sysprof?
Comment 43•14 years ago
|
||
sysprof says that ~48% of the time is indeed spent in the tree painting, which, as Ilja says, is basically just how the tree widget goes. The specific breakdown is spread across a number of sub-functions which suggests there is no single rogue function/hotspot going on. (Thebes does show up a bit, but font metric stuff does need to be involved...)
Enhancements to the treeview to make the scrollbar operate asynchronously (or to cancel pending paints) would likely provide the greatest benefit.
Comment 44•14 years ago
|
||
what's key to reproduce - a slow machine or something else? (because I don't see slowness on any of my machines)
and, is this truly fallout from bug 345887?
Comment 45•14 years ago
|
||
As Ilja says, the speed of the rendering subsystem (such as X driver) can affect things. A theme could affect things if it increases the rendering complexity, such as using gradients where none where previously used, etc.
While scrolling speed where dragging the scroll thumb is important, it's not critical. As long as paging through the 3-pane is responsive, I would consider things fine. I may have noted this before, but if not... extensions providing custom columns or decorating existing columns can slow down scrolling by an order of magnitude or more, and that's basically on the extensions. (Although it would be nice if the XUL widget cached so as to avoid that...)
Comment 46•11 years ago
|
||
I can confirm that an extension can have this effect.
I saw this with https://addons.mozilla.org/en-US/thunderbird/addon/quickarchiver/
When I disable the extra column it adds the scroll speed is back to normal.
Comment 47•10 years ago
|
||
Is this still seen on linux in version 24 or 31 or nightly build?
(in safe mode of course)
Flags: needinfo?(nick)
Flags: needinfo?(nick)
Flags: needinfo?(ilja_sekler_)
Flags: needinfo?(david)
Reporter | ||
Comment 48•10 years ago
|
||
(In reply to Wayne Mery (:wsmwk) from comment #47)
> Is this still seen on linux in version 24 or 31 or nightly build?
> (in safe mode of course)
My computer is too fast to expose this issue with TB 24.7.0 at least. The CPU spikes at 80% when rapidly scrolling a long message list (several thousand messages) in a maximized TB window though. On a slow machine with poor quality drivers this could still be a problem.
Reporter | ||
Updated•10 years ago
|
Flags: needinfo?(bugzilla.i.sekler)
Updated•9 years ago
|
Comment 50•9 years ago
|
||
If anyone still sees this using Thunderbird started in safe mode, please get a short profile per
https://developer.mozilla.org/en-US/docs/Mozilla/Performance/Reporting_a_Thunderbird_Performance_Problem_with_G
If profile is too big, then the share/upload step will fail. You must use a shorter time period, say 5-10 seconds
Whiteboard: [closeme 2015-10-10][needs profile]
Comment 51•9 years ago
|
||
If anyone still sees this problem mplease open a new bug report, and reference this bug#
Status: NEW → RESOLVED
Closed: 9 years ago
Flags: needinfo?(nick)
Flags: needinfo?(david)
Resolution: --- → INCOMPLETE
Whiteboard: [closeme 2015-10-10][needs profile] → [needs profile]
You need to log in
before you can comment on or make changes to this bug.
Description
•