Quick-start steps for the impatient:
- add these options to your X.Org configuration file:
Option "PixmapCacheSize" "1000000"
Option "AllowSHMPixmaps" "0"
- after starting X, run:
# nvidia-settings -a InitialPixmapPlacement=2 -a GlyphCache=1
We plan to enable these options by default in a future NVIDIA Linux graphics driver release. Please see the more detailed notes below for a thorough description of what each of the options do.
Please note: if you still experience performance issues, please create a new thread with a detailed description of your problem.
Before creating a new thread, PLEASE:
* make sure you are using version 177.67 of the NVIDIA X driver
* attach an nvidia-bug-report.log to your message as per
http://www.nvnews.net/vbulletin/showthread.php?t=46678
* make sure you enabled all of the the performance tweaks described below
To get the best performance out of the current BETA driver, we recommend that you do the following:
* after the X server has started, use the following command:
# nvidia-settings -a InitialPixmapPlacement=2
This command will enable X pixmaps to be placed in your GPU's video memory instead of the traditional system memory, allowing the NVIDIA X driver to optimally accelerate rendering operations involving such pixmaps. As this BETA release includes fixes for most of the remaining issues that were previously caused by this setting, it is strongly recommended that you add the above command to your login manager or xinit startup file (i.e. ~/.xinitrc/~/.kderc/~/.gnomerc, etc.).
Please note: it has been reported that using a compositing manager in conjunction with this option will cause newly-created windows to briefly display random contents instead of black before being first drawn. We are aware of this non-critical issue and planning to fix it in a future NVIDIA Linux graphics driver release.
* add the following line in the Screen section of your X configuration file:
Option "PixmapCacheSize" "1000000"
This option reserves a chunk of your GPU's video memory for fast pixmap allocation and greatly improves performance of any X application heavily relying on pixmap allocation. The PixmapCache size is measured in pixels; a pixel of PixmapCache uses a little more than 5 bytes of video memory, meaning a PixmapCacheSize of 1,000,000 will reserve a little under 5MB of video memory for pixmap allocation. Feel free to increase this size to get better performance, taking into account the amount of memory on your graphics card and the fact that this memory will be unavailable for OpenGL texture allocation at this point (we are planning to improve that limitation in a future driver release). Operations such as resizing windows using Compiz or the KDE4 compositing manager are known to benefit from setting this option to a high value.
Please note: this option relies on InitialPixmapPlacement being set to 2. If you are having performance problems, please make sure InitialPixmapPlacement is set to 2 by querying its value using the following command:
# nvidia-settings -q InitialPixmapPlacement
* add the following line in the Screen section of your X configuration file:
Option "AllowSHMPixmaps" "0"
This option prevents applications from allocating Shared Memory pixmaps. While such pixmaps generally yield better performance using non-accelerated operations, they can't be permanently stored in video memory by the NVIDIA X driver. As this causes the NVIDIA X driver to be unable to optimally accelerate rendering operations involving such pixmaps, it is highly recommended that you set this option to 0 for best performance.
Please note: EXA drivers generally disable Shared Memory pixmaps, as well.
If you own a GeForce 8, 9 or GTX series GPU, it is also strongly encouraged that you do the following:
* after the X server has started, use the following command:
# nvidia-settings -a GlyphCache=1