User:Lemma/GPU-Performance: Difference between revisions

From KDE TechBase
No edit summary
 
(20 intermediate revisions by 8 users not shown)
Line 1: Line 1:
{{warning|Before making any changes to your system, please read everything carefully and try to understand what you are doing. If you're modifying any files on your system, keep copies of the unmodified version and be sure you can revert to those old version - even if your Xserver is not starting any longer.}}


{{warning|Some of the changes mentioned below are said to '''increase the temperature of your GPU'''. In any case, monitor your graphic card to make sure it isn't getting too hot!}}


= Primer =
{{note|This page has been moved to Userbase. The new URL is: http://userbase.kde.org/GPU-Performance.}}


Several popular graphics cards out there - especiall NVIDIA ones - exhibit performance problems with KDE4. These performance hits mostly concern [[Projects/Plasma|Plasma]] - the KDE4 desktop - and [[Projects/KWin|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.
Unfortunately I couldn't keep the history but thanks to everyone contributing information and translations to this page!
 
= General hints =
 
== Graphics driver ==
For both of the ''big'' graphics chip manufacturers there's 2 seperate graphics drivers each:
 
* For NVIDIA cards there's the free '''nv''' and the proprietary '''nvidia''' driver. While KDE4 should work fine with the former, it doesn't offer 3D acceleration, so the latter may be your only choice. All NVIDIA subsections herein only refer to the proprietary driver (there's also a 3rd free driver called ''nouveau'' that's currently being written. Unfortunately I don't know how usable it is so far). Due to licensing restrictions most distributions don't install the proprietary driver by default. Please refer to your distribution for information on how to install it.
 
{{note|TODO: section about radeonhd and fglrx driver - I don't own an ATI card [[User:Lemma|Lemma]]}}
 
== 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 <tt>~/.xinitrc</tt>.
 
== 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.
 
If for some reason your Xserver hangs after hitting the ''Apply'' button on the dialog and your settings get reverted because you can't confirm your changes in time, try again. Usually it will be faster on one of the subsequent tries. If it doesn't you can still change your settings in <tt>~/.kde4/share/config/kwinrc</tt>.
 
= 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 <pre>$ XLIB_SKIP_ARGB_VISUALS=1 konsole</pre> on the command-line and try to resize the new konsole window (setting the environment variable <tt>XLIB_SKIP_ARGB_VISUALS</tt> 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:
<pre>Section "Device"
    ...
    Option "BackingStore" "true"
    ...
EndSection "Device"</pre>This works for some (eg. konsole) but unfortunately not all windows.
 
 
* As a last resort you can try setting <tt>XLIB_SKIP_ARGB_VISUALS=1</tt> in your <tt>~/.xinitrc</tt> but this isn't pretty.
 
=== NVIDIA ===
 
* You can set the ''IntialPixmapPlacement'' with the ''nvidia-settings'' utility: <pre>$ nvidia-settings -a InitialPixmapPlacement=2</pre> This works for some (but unfortunately not all) NVIDIA cards.
 
=== ATI ===
 
TODO
 
== Plasma performance is bad ==
 
;Explanation : Unfortunately the reasons for plasma being choppy seem to be numerous so it's hard to tell where your choppiness comes from.
 
;Test : Usually plasma performance problems can be seen best on the ''Folder View'' plasmoid. Moving it or scrolling inside the folder might be pretty slow.
 
=== General ===
 
* Please make sure this is not (only) related to the '''ARGB Visuals''' mentioned in the above section.
 
=== NVIDIA ===
 
* You can set the ''IntialPixmapPlacement'' and the ''GlyphCache'' option with the ''nvidia-settings'' utility: <pre>$ nvidia-settings -a InitialPixmapPlacement=2 -a GlyphCache=1</pre> This works for some (but unfortunately not all) NVIDIA cards. Some cards reportedly work better using <tt>InitialPixmapPlacement=1</tt> (or maybe even <tt>3</tt>)
 
* Options that are said to work well on 8xxx cards but are untested (by me)
** Option "TripleBuffers" "True"
** Option "DamageEvents" "True"
** Option "BackingStore" "True"
** Option "PixmapCacheSize" "200000"
 
=== ATI ===
 
TODO
 
= Links/References =
 
[http://www.nvnews.net/vbulletin/showthread.php?t=115916] -- Thread about 2D issues on the NVIDIA forums.

Latest revision as of 15:33, 15 July 2012


Note
This page has been moved to Userbase. The new URL is: http://userbase.kde.org/GPU-Performance.


Unfortunately I couldn't keep the history but thanks to everyone contributing information and translations to this page!