This forum has been archived. All content is frozen. Please use KDE Discuss instead.

KWin performance very slow compared to Windows Aero

Tags: None
(comma "," separated)
RealNC
Registered Member
Posts
20
Karma
0
I recently replaced a Radeon 4870 with a GTX 560 Ti. The NVidia drivers are very aggressive in power saving. They will clock down the card to just 50Mhz after a while (and stays there until a 3D application is launched or GPU usage rises.) They do this in both Windows as well as in Linux. The difference is, Windows Aero runs perfectly smooth with the GPU at 50Mhz. KWin does not: it stutters like crazy.

The Radeon didn't show this problem since that card was unable to reduce the GPU clock by that much (it simply went from 750Mhz to 500Mhz, which is plently for KWin.)

Why is KDE/KWin so slow? Right now, I need to force the GPU to use high clocks all the time for KWin to work without stuttering. This results in greatly incresed power usage as compared to Windows. Is there something that can be done about it?
User avatar
google01103
Manager
Posts
6668
Karma
25
which Nvidia drivers are you using?

Is the blur effect enabled? it used to be problematic for lower end card, not sure if it still is

I did some Google'ing and from what I can tell you have 2 choices, adaptive and performance which you can set using nvidia-settings but neither is acceptable because one will drop the core speed too low and the other use too much power when not needed. What you need is the ability to set the lower adaptive speed to something higher that 50mHz and I would suggest posting on Nvidia's Linux forum


OpenSuse Leap 42.1 x64, Plasma 5.x

User avatar
Hans
Administrator
Posts
3304
Karma
24
OS
I don't know if it's a good idea, but you could try to change to raster: viewtopic.php?f=66&t=90821


Problem solved? Please click on "Accept this answer" below the post with the best answer to mark your topic as solved.

10 things you might want to do in KDE | Open menu with Super key | Mouse shortcuts
User avatar
google01103
Manager
Posts
6668
Karma
25
you might try using a theme different then Oxygen (if that's being used), this post suggests QtCurve viewtopic.php?f=66&t=90821#p181462 and I remember reading somewhere that Oxygen and Nvidia may not mix well together

in addition to raster there is an openGL backend http://labs.qt.nokia.com/2008/10/22/so- ... -the-blit/ and there is a kcm module http://kde-apps.org/content/show.php/KC ... ent=129817. not sue what if any issues using openGL will trigger


OpenSuse Leap 42.1 x64, Plasma 5.x

RealNC
Registered Member
Posts
20
Karma
0
google01103 wrote:which Nvidia drivers are you using?

290.10 and then 295.17.

Is the blur effect enabled? it used to be problematic for lower end card, not sure if it still is

Disabling it has no effect. Disabling all other effects also doesn't help.

However, I discovered something very interesting. If I enable the "Show FPS" effect, so that I get a small window in the upper-right which continually updates some performance graphs, then KWin is perfectly smooth with everything! (I take that back; it's smooth when moving windows. Everything else, like minimizing/restoring and present windows is still stuttering.) However, this is *not* because the graph animations will raise the GPU clock, because (in order to test) I forced the card into a constant low power state. For anyone using the NVidia driver, you can do this with these entries in the "Device" section of your xorg.conf (or a xorg.conf.d/ *.conf file):

Code: Select all
Option  "Coolbits"  "4"
Option "RegistryDwords" "PowerMizerEnable=0x1; PerfLevelSrc=0x2222; PowerMizerDefault=0x3; PowerMizerDefaultAC=0x3"


(You have to reload the nvidia kernel module or reboot for this to work; restarting the X server is not enough.)

Note that trying to run something else that produces animation, like glxgears or a video, it doesn't help.

Furthermore, there are other instances where the stutter disappeares. For example when opening a dialog that is modal to its parent: moving the modal dialog around is smooth. (Whether the effect that darkens the parent is active or not does not play a role.) Another instance is enabling the wobbly windows effect. With it enabled, moving windows around also isn't stuttering.

google01103 wrote:you might try using a theme different then Oxygen (if that's being used), this post suggests QtCurve viewtopic.php?f=66&t=90821#p181462 and I remember reading somewhere that Oxygen and Nvidia may not mix well together

I like Oxygen. I don't like any of the others I ever tried. I'll try it out though just to see whether it's Oxygen that's causing the problem.

in addition to raster there is an openGL backend http://labs.qt.nokia.com/2008/10/22/so- ... -the-blit/ and there is a kcm module http://kde-apps.org/content/show.php/KC ... ent=129817. not sue what if any issues using openGL will trigger

OpenGL doesn't work. It renders garbage pixels inside the windows.

Hans wrote:I don't know if it's a good idea, but you could try to change to raster: viewtopic.php?f=66&t=90821

I'm already using raster (Gentoo uses it by default, and I verified that this is indeed what's being used.)

I'm using KDE 4.8 with Qt 4.8.0, on Gentoo Linux AMD64, kernel 3.2.5.
User avatar
google01103
Manager
Posts
6668
Karma
25
did you try changing compositing type to Xrender from OpenGL in systemsettings -> desktop effects advanced ? some effects will be unavailable iirc


OpenSuse Leap 42.1 x64, Plasma 5.x

RealNC
Registered Member
Posts
20
Karma
0
XRender doesn't help. VSync also stops working with it, making for a very tear-ridden desktop.

Btw, QtCurve didn't make any difference whatsoever.

In the end it seems KWin is simply not as well written as the MS Windows compositor and needs much more GPU resources.
User avatar
google01103
Manager
Posts
6668
Karma
25
Would under clocking your card to a value higher than 50 but lower than the max of the gtx 560, say 400mHz, provide you enough gpu resources and decrease power to an acceptable amount? or do you have instances where you require full gpu speed?

with coolbits enabled you can adjust the gpu speed see http://en.gentoo-wiki.com/wiki/Nvidia#A ... A_Settings. I also think by enabling coolbits you enable the nvidia-settings appp to allow changing clock speeds but not sure if changes are retained between reboots


OpenSuse Leap 42.1 x64, Plasma 5.x

RealNC
Registered Member
Posts
20
Karma
0
google01103 wrote:Would under clocking your card to a value higher than 50 but lower than the max of the gtx 560, say 400mHz, provide you enough gpu resources and decrease power to an acceptable amount? or do you have instances where you require full gpu speed?

That's what I'm doing. I'm running the middle profile, which gives about 400Mhz. But it's sad to see that Windows can provide all eye candy with only 50Mhz :-(

I also think by enabling coolbits you enable the nvidia-settings appp to allow changing clock speeds but not sure if changes are retained between reboots

This works with older cards but not on Fermi-based ones.
smls
Registered Member
Posts
53
Karma
0
OS
RealNC wrote:it seems KWin is simply not as well written as the MS Windows compositor and needs much more GPU resources

I don't think that's the case.

I've seen KWin (with default effects enabled, except for Blur) run fast and fluently, on old hardware which doesn't even support Windows 7.

The issue, more likely, lies with the graphics card drivers.

The way that Aero and Kwin use graphics card functionality is quite different from the way that graphics card functionality has traditionally been used (e.g. by computer games and CAD applications).

When Windows released Aero, all the hardware companies put lots of effort into updating their Windows graphics card drivers to support this type of use-case efficiently and without bugs. (And they most likely even specifically tested and optimized them for Aero.)

But the Linux drivers, as always, lag behind. The big hardware companies don't seem to consider it a priority to make their official Linux drivers work well (or even without major bugs) for Desktop compositing, and the alternative open-source Linux drivers only progress very slowly as well in this area because only relatively few volunteers work on them.

I believe the Nvidia drivers are the most problematic in this regard, currently.
On most Intel graphics cards, KWin seems to run reasonably well with the official drivers (at least if Blur is disabled).
On my ATI Radeon HD 5670 card, KWin runs perfectly (and lag-free) with the open-source Radeon driver, but with some issues (artifacts when resizing windows, and some lags) with the proprietary Catalyst driver.

So in your case the best hope may be to simply wait for the Nvidia drivers to improve. (I know that's probably not a very satisfactory answer, though.)
RealNC
Registered Member
Posts
20
Karma
0
smls wrote:I believe the Nvidia drivers are the most problematic in this regard, currently.
On most Intel graphics cards, KWin seems to run reasonably well with the official drivers (at least if Blur is disabled).
On my ATI Radeon HD 5670 card, KWin runs perfectly (and lag-free) with the open-source Radeon driver, but with some issues (artifacts when resizing windows, and some lags) with the proprietary Catalyst driver.

Neither Catalyst nor the open drivers put the GPU in such an *extremely* low performance mode, so I don't think you would ever be able to see the problem. We're talking 50Mhz here. Catalyst on my AMD card clocks from 750MHz down to 500Mhz. That's a very long way from 50Mhz. Same goes for the open drivers.
mgraesslin
KDE Developer
Posts
572
Karma
7
OS
concerning improving the performance I recommend to follow the advice on Desktop Effects Performance

But in general most has already been said: we are not in the control of the drivers and are not in a position to have the vendors get a certification to be "KWin compliant" which the vendor can then stick on their GPU.

We are working hard on improving the performance and lots of work has gone in making KWin always stay in lowest level on NVIDIA GPUs.
RealNC
Registered Member
Posts
20
Karma
0
Thanks for the link. Unfortunately, the problem is very basic. Even after disabling all effects and setting everything to minimum, performance is still very low. Lots of frameskipping even while simply moving a window around.
shmerl
Registered Member
Posts
251
Karma
1
OS
For a test you can also use Nvidia beta driver and see if there is any difference. Sometimes they fix certain bugs there which critically affect KWin (while introducing new ones ;) ).
User avatar
toad
Global Moderator
Posts
1258
Karma
7
OS
From the nvidia site it appears you using the wrong driver - the 270 version is the correct one for your video card. Also I'd suggest using the nouveau driver rather than the nvidia one - it plays much nicer with xrandr.


Debian testing


Bookmarks



Who is online

Registered users: Bing [Bot], Google [Bot], q.ignora, watchstar