nV News Forums

 
 

nV News Forums (http://www.nvnews.net/vbulletin/index.php)
-   NVIDIA Linux (http://www.nvnews.net/vbulletin/forumdisplay.php?f=14)
-   -   [260.19.12] GTK Xorg 1.9 performance regressions (http://www.nvnews.net/vbulletin/showthread.php?t=156885)

mooninite 11-07-10 04:55 PM

[260.19.12] Cairo 1.10 performance regressions
 
1 Attachment(s)
The previous reported X 1.9 performance regressions were with KDE users, but Gnome is also affected.
Compiz is enabled on all tests below

gtkperf - 1000 runs - gtk-murrine-engine 0.90.3 (Dust Theme) - Fedora 13 x86_64 (X.org 1.8)
Code:

GtkPerf 0.40 - Starting testing: Mon Oct 18 22:42:49 2010

GtkEntry - time:  0.16
GtkComboBox - time:  5.17
GtkComboBoxEntry - time:  3.32
GtkSpinButton - time:  0.57
GtkProgressBar - time:  0.98
GtkToggleButton - time:  1.10
GtkCheckButton - time:  0.53
GtkRadioButton - time:  0.90
GtkTextView - Add text - time: 15.45
GtkTextView - Scroll - time:  2.18
GtkDrawingArea - Lines - time:  4.90
GtkDrawingArea - Circles - time:  7.20
GtkDrawingArea - Text - time:  2.06
GtkDrawingArea - Pixbufs - time:  0.46
 ---
Total time: 44.99

gtkperf - 1000 runs - gtk-murrine-engine 0.98.1.1 (Dust Theme) - Fedora 14 x86_64 (X.org 1.9)
Code:

GtkPerf 0.40 - Starting testing: Sun Nov  7 16:50:32 2010

GtkEntry - time:  0.18
GtkComboBox - time: 42.00
GtkComboBoxEntry - time: 21.41
GtkSpinButton - time: 15.53
GtkProgressBar - time: 28.80
GtkToggleButton - time: 20.91
GtkCheckButton - time:  1.67
GtkRadioButton - time:  1.98
GtkTextView - Add text - time: 14.65
GtkTextView - Scroll - time:  6.47
GtkDrawingArea - Lines - time:  8.25
GtkDrawingArea - Circles - time: 11.37
GtkDrawingArea - Text - time:  2.74
GtkDrawingArea - Pixbufs - time:  0.61
 ---
Total time: 176.57

gtkperf - 1000 runs - gtk2-engine 2.20.1 (Glossy Theme) - Fedora 14 x86_64 (X.org 1.9)
Code:

GtkPerf 0.40 - Starting testing: Sun Nov  7 16:40:49 2010

GtkEntry - time:  0.17
GtkComboBox - time: 16.45
GtkComboBoxEntry - time: 15.67
GtkSpinButton - time: 14.75
GtkProgressBar - time:  1.59
GtkToggleButton - time:  1.44
GtkCheckButton - time:  0.60
GtkRadioButton - time:  1.00
GtkTextView - Add text - time: 14.59
GtkTextView - Scroll - time:  2.64
GtkDrawingArea - Lines - time:  6.27
GtkDrawingArea - Circles - time:  8.52
GtkDrawingArea - Text - time:  2.71
GtkDrawingArea - Pixbufs - time:  0.47
 ---
Total time: 86.88

I have attached a bug report generated with Fedora 14.

drhirsch 11-09-10 04:33 AM

Re: [260.19.12] GTK Xorg 1.9 performance regressions
 
Wouldn't it be more useful to compare the same versions of gtk-engines?

The regression could be from gtk-murrine-engine 0.90.3 to gtk-murrine-engine 0.98.1.1.

mooninite 11-09-10 10:05 AM

Re: [260.19.12] GTK Xorg 1.9 performance regressions
 
Quote:

Originally Posted by drhirsch (Post 2344599)
Wouldn't it be more useful to compare the same versions of gtk-engines?

The regression could be from gtk-murrine-engine 0.90.3 to gtk-murrine-engine 0.98.1.1.

Fedora 13 is restricted to the version I noted. Same for Fedora 14.

I provided the generic gtk-engine result as well, to discount such an idea. GTK performance still suffers from X.org 1.9.

McNihil 11-10-10 10:01 AM

Re: [260.19.12] GTK Xorg 1.9 performance regressions
 
I am experiencing the same issue. What I did to alleviate the issue somewhat was to go from a high glossy gradient look to plain (clearlooks -> clearlooks classic.) Now its still half the speed of what it usually is but better than the 4 times slower that was with the heavy glossy look.

Hopefully this will give some ideas where things got out of hand in the code.

mooninite 11-10-10 05:44 PM

Re: [260.19.12] GTK Xorg 1.9 performance regressions
 
After being pointed to this thread by a friend, I thought I'd downgrade cairo as well just to try it out.

After rebooting - 2D is back to normal.

gtkperf - 1000 runs - gtk-murrine-engine 0.98.1.1 (Dust Theme) - Fedora 14 x86_64 (X.org 1.9) - cairo 1.8
Code:

GtkPerf 0.40 - Starting testing: Wed Nov 10 17:40:56 2010

GtkEntry - time:  0.19
GtkComboBox - time:  6.23
GtkComboBoxEntry - time:  3.89
GtkSpinButton - time:  1.19
GtkProgressBar - time:  0.96
GtkToggleButton - time:  1.06
GtkCheckButton - time:  0.72
GtkRadioButton - time:  1.49
GtkTextView - Add text - time: 15.52
GtkTextView - Scroll - time:  2.84
GtkDrawingArea - Lines - time:  8.93
GtkDrawingArea - Circles - time: 11.62
GtkDrawingArea - Text - time:  4.07
GtkDrawingArea - Pixbufs - time:  0.64
 ---
Total time: 59.34

It seems cairo 1.10 causes the NVIDIA driver to hit lots of CPU fallback code. Using 1.8 returns performance back to normal on all fronts.

brebs 11-11-10 05:13 AM

Re: [260.19.12] GTK Xorg 1.9 performance regressions
 
Fedora's cairo doesn't include cairo-1.10.0-buggy_gradients.patch, so file a bug with Fedora's bugzilla.

mooninite 11-11-10 08:21 AM

Re: [260.19.12] GTK Xorg 1.9 performance regressions
 
One had been created. I'll go ahead and link it here.

https://bugzilla.redhat.com/show_bug.cgi?id=652124

artem 11-11-10 09:08 AM

Re: [260.19.12] GTK Xorg 1.9 performance regressions
 
cairo-1.10.0-3.fc14.src.rpm with cairo-1.10.0-buggy_gradients.patch for Fedora 14.

Download and rebuild using
Code:

rpmbuild --rebuild cairo-1.10.0-3.fc14.src.rpm
command.

Run `rpm -Uvh packagename1 packagename2 packagename3` to update packages. This patch indeed fixes the problems with gradients.

Plagman 04-13-11 02:56 PM

Re: [260.19.12] GTK Xorg 1.9 performance regressions
 
Please note that this should be fixed with 270.41.03. I suggest un-applying the buggy-gradients patch from cairo when using this driver as server-side gradients can be very beneficial to performance now that this bug is out of the way.

mooninite 04-13-11 05:10 PM

Re: [260.19.12] GTK Xorg 1.9 performance regressions
 
Quote:

Originally Posted by Plagman (Post 2418049)
Please note that this should be fixed with 270.41.03. I suggest un-applying the buggy-gradients patch from cairo when using this driver as server-side gradients can be very beneficial to performance now that this bug is out of the way.

I can verify that it is fixed. Thank you!

I can only see about a 5% performance difference though (server-side 5% faster) using gtkperf (1000 runs).

Plagman 04-14-11 11:15 AM

Re: [260.19.12] GTK Xorg 1.9 performance regressions
 
Yeah, for general UI rendering the trapezoid strips/gradients cover a pretty small area, so the benefit of hardware acceleration isn't dramatic. I suggest doing the same experiment with cairo-perf-trace or any benchmark that uses Cairo to render vector graphics on large areas.

kokoko3k 11-06-12 06:38 AM

Re: [260.19.12] GTK Xorg 1.9 performance regressions
 
Anybody noticed a regression about this?
here is what i emailed to nvidia support:
Quote:

Hi, as stated here:
http://www.nvnews.net/vbulletin/show....php?p=2418346
The cairo-1.10.0-buggy_gradients.patch shouldn't be needed anymore,
but i tried unpatched cairo 1.12.8 with nvidia drivers 310.14(beta),
304.60 and 304.51.
With those drivers gtk applications are very slow, even firefox is
slow when scrolling pages using native widgets.
Applying the cairo patch OR using nouveau make things smooth again.


All times are GMT -5. The time now is 05:45 AM.

Powered by vBulletin® Version 3.7.1
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Copyright 1998 - 2014, nV News.