Bug 49534 - [nvidia-302] Slow chromium tab switching with cairo-1.12.0
Summary: [nvidia-302] Slow chromium tab switching with cairo-1.12.0
Status: CLOSED FIXED
Alias: None
Product: cairo
Classification: Unclassified
Component: xlib backend (show other bugs)
Version: 1.12.2
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: Carl Worth
QA Contact: cairo-bugs mailing list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-05-05 06:42 UTC by Jindrich Makovicka
Modified: 2012-08-07 16:17 UTC (History)
4 users (show)

See Also:
i915 platform:
i915 features:


Attachments
Cairo trace for chromium (48.32 KB, application/x-lzma)
2012-05-05 06:42 UTC, Jindrich Makovicka
Details
Xorg log (33.40 KB, text/x-log)
2012-05-05 06:44 UTC, Jindrich Makovicka
Details
Slightly longer trace (43.15 KB, application/x-lzma)
2012-05-05 09:18 UTC, Jindrich Makovicka
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jindrich Makovicka 2012-05-05 06:42:55 UTC
Created attachment 61077 [details]
Cairo trace for chromium

With more tabs containing complex content (reproducible eg. with 4 tabs with cnn.com), switching between tabs takes 1-2 seconds. I was hoping it's for the same reason as in Bug 48395, but this problem persists with nVidia 302.07 beta driver too.

Related bug report in Chromium bug tracker:

http://code.google.com/p/chromium/issues/detail?id=121624

Cairo-perf-trace output with nVidia driver 302.07:

$ cairo-perf-trace chromium.18279
[ # ]  backend                         test   min(s) median(s) stddev. count
[  0]      xcb                     chromium    1.973    1.987   0.62%    6/6
[  0]     xlib                     chromium    3.840    3.870   0.35%    6/6
[ # ]    image: pixman 0.24.4
[  0]    image                     chromium    0.073    0.075   1.37%    6/6
[ # ]  image16: pixman 0.24.4
[  0]  image16                     chromium    0.089    0.090   0.51%    6/6
Comment 1 Jindrich Makovicka 2012-05-05 06:44:41 UTC
Created attachment 61078 [details]
Xorg log
Comment 2 Chris Wilson 2012-05-05 07:54:33 UTC
Hmm, whilst the only usage of cairo within chromium is for the actual rendering of the gtk elements (the tabs), that the xlib/xcb performance is 20-40x times slower is indicative of a problem at least.

Can you please make a slightly longer trace? If you can grab 0.5s worth of image replay, such a trace will be a nice addition to the perf suite.
Comment 3 Jindrich Makovicka 2012-05-05 09:18:24 UTC
Created attachment 61080 [details]
Slightly longer trace

This one takes about 44s for xcb, and 0.2s for image.
Comment 4 Andrey Rahmatullin 2012-05-25 00:09:32 UTC
I have the same problem with 302.11. Here are trace results for resizing of a gvim window with some text:


[ # ]  backend                         test   min(s) median(s) stddev. count
[  0]      xcb                         gvim    4.082    4.199   1.15%    6/6
[  0]     xlib                         gvim    4.202    4.214   0.26%    5/6
[ # ]    image: pixman 0.24.4
[  0]    image                         gvim    0.605    0.610   0.50%    5/6
[ # ]  image16: pixman 0.24.4
[  0]  image16                         gvim    0.611    0.617   0.42%    6/6

I can attach the trace itself if it will help.
Comment 5 Chris Wilson 2012-05-25 01:11:01 UTC
For reference I've added the slightly longer chromium trace to cairo-traces.git (cairo-traces/benchmark/chromium-tab), thanks.
Comment 6 Pierre-Loup A. Griffais 2012-07-30 21:45:14 UTC
Hi all,

Can you please test this against the newly-released 304.30 NVIDIA driver? The issue should be resolved with this driver; I'll mark the bug resolved as soon as it's confirmed.

Sorry for the inconvenience and thanks a lot for the bug report!
 - Pierre-Loup
Comment 7 Jindrich Makovicka 2012-07-30 22:04:05 UTC
Thanks, the tabs in Chromium now switch instantly.
Comment 8 Aaron Plattner 2012-08-07 16:17:15 UTC
Marking CLOSED, since the fix was verified and shipped.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.