User:Lemma/GPU-Performance
Primer
Several popular graphics cards out there - especiall NVIDIA ones - exhibit performance problems with KDE4. These performance hits mostly concern Plasma - the KDE4 desktop - and KWin - the KDE window-manager. Generally speaking this isn't due to KDE4 being unoptimized but a problem with the cards' graphics drivers. This page encompasses certain problems that might arise and how to get rid of them.
General hints
nvidia-settings
Attributes set using the nvidia-settings utility aren't permanently saved. Thus you have to set them every time you restart your Xserver. This can be done conveniently by adding the lines to set the features to your ~/.xinitrc.
systemsettings
KDE4's systemsettings allows you to tweak some kwin settings as well. You can find the settings in Desktop -> Desktop Effects -> Advanced Options. Depending on your card either OpenGL or XRender might work better. For OpenGL changing the OpenGL mode might change performance as well. Please bear in mind that changing some of the tweaks mentioned below might force you to change your settings.
Example:
- Setting InitialPixmapPlacement to 2 might improve plasma's performance but might make kwin hang sometimes.
- Setting OpenGL mode to Shared Memory might make kwin more responsive again.
Problems
This section summarizes several symptoms you might encounter and tries to explain possible causes.
Resizing certain windows is choppy
- Explanation
- This might be due to your card advertising ARGB Visuals (basically translucency) without having proper support for them. Applications/windows concerned are the plasma desktop, the krunner dialog (Alt+F2), plasma's Add new widget dialog or a konsole window.
- Test
- If you want to make sure this issue is a problem for you, run
$ XLIB_SKIP_ARGB_VISUALS=1 konsole
on the command-line and try to resize the new konsole window (setting the environment variable XLIB_SKIP_ARGB_VISUALS turns off ARGB visuals). If it resizes without problems, then this is certainly one of the problems you're facing.
General
- You can set the BackingStore options in your xorg.conf:
Section "Device" ... Option "BackingStore" "true" ... EndSection "Device"
This works for some (eg. konsole) but unfortunately not all windows.
- As a last resort you can try setting XLIB_SKIP_ARGB_VISUALS=1 in your ~/.xinitrc but this isn't pretty.
NVIDIA
- You can set the IntialPixmapPlacement with the nvidia-settings utility:
$ nvidia-settings -a InitialPixmapPlacement=2
This works for some (but unfortunately not all) NVIDIA cards.
ATI
Plasma performance is bad
- Explanation
- Test