分页: 1 / 1

解決 firefox 2/3 + nvidia 顯卡,部分網頁滾動速度慢

发表于 : 2008-06-19 21:33
longinus4ubuntu
先發在自己的博客上:原文http://longgi.yo2.cn/go/633579.html

從 7.10 開始,我和我周圍的一些安裝 nvidia 顯卡的機器都被一個問題所困擾。
當用 firefox 2/3 瀏覽一些有固定背景的網頁時會變得超乎尋常的慢,倒不是載入慢,而是卷動慢。

如果你沒有明白我在說什麽,請到這裏
http://testlonggi.yo2.cn/
拖動頁面邊上的滾動條,感覺是否流暢,如果答案是否定的,請您接著看後面。

這個問題在 mozilla 的 bug 列表裏已經有了匯報,不過一直沒有解決。
最近因為更換 firefox3 問題仍沒解決,遂再次上網搜索,終于發現了暫時的解決辦法。

mozilla 的 bug 報告:
https://bugzilla.mozilla.org/show_bug.cgi?id=201307
https://bugzilla.mozilla.org/show_bug.cgi?id=90198

解決方法對 n7xxx n8xxx 確認有效,對 n6xxx 也應有效。

1、使用 nvidia 官方驅動的情況
首先升級到最新的版本
在終端(圖形界面下就可以),執行

代码: 全选

nvidia-settings -a InitialPixmapPlacement=2 -a GlyphCache=1
應有返回:

代码: 全选

  Attribute 'InitialPixmapPlacement' (longinus-desktop:0.0) assigned value 2.
  Attribute 'GlyphCache' (longinus-desktop:0.0) assigned value 1.
并不需要重啟任何程序,直接在 ff 中測試,速度應該有所改善。就我的情況而言,不但 ff 的速度變快,compiz 的效率也提高了。
對于 n8xxx 顯卡而言

代码: 全选

nvidia-settings -a InitialPixmapPlacement=2 -a GlyphCache=1
是最好的選擇(n8600gt, n8600m gs),而對 n7xxx 顯卡,您還可以嘗試

代码: 全选

nvidia-settings -a InitialPixmapPlacement=0 -a GlyphCache=1
這個組合比21的組合稍慢,但也有效(n7600gt, n7300)

2、使用受限驅動對話框安裝的受限驅動
就是 glx-new,這種情況下 nvidia-settings 沒有默認安裝,您需要自己安裝一下。
而且這個驅動目前還沒有提供 GlyphCache 的修改,所以您得把 -a GlyphCache=1 去掉。
就變成:

代码: 全选

nvidia-settings -a InitialPixmapPlacement=2
其他與使用官方驅動一樣。

另外,這個調整在重啟後會自動回復默認,就是 1,0 的組合,所以請您將上面的命令加入到會話啟動項裏。
給出驅動源碼中對 InitialPixmapPlacement 的定義,看的懂得人看看就行了,看不懂也沒必要弄明白。

代码: 全选

/*
* NV_CTRL_INITIAL_PIXMAP_PLACEMENT - Controls where X pixmaps are initially
* created.
*
* NV_CTRL_INITIAL_PIXMAP_PLACEMENT_FORCE_SYSMEM causes to pixmaps to stay in
* system memory.
* NV_CTRL_INITIAL_PIXMAP_PLACEMENT_SYSMEM creates pixmaps in system memory
* initially, but allows them to migrate to video memory.
* NV_CTRL_INITIAL_PIXMAP_PLACEMENT_VIDMEM creates pixmaps in video memory
* when enough resources are available.
* NV_CTRL_INITIAL_PIXMAP_PLACEMENT_GPU_SYSMEM creates pixmaps in GPU accessible
* system memory when enough resources are available.
*/ #define NV_CTRL_INITIAL_PIXMAP_PLACEMENT 238 /* RW- */
#define NV_CTRL_INITIAL_PIXMAP_PLACEMENT_FORCE_SYSMEM 0
#define NV_CTRL_INITIAL_PIXMAP_PLACEMENT_SYSMEM 1
#define NV_CTRL_INITIAL_PIXMAP_PLACEMENT_VIDMEM 2
#define NV_CTRL_INITIAL_PIXMAP_PLACEMENT_GPU_SYSMEM 4

发表于 : 2008-06-20 9:56
monanwansui
我是用受限驱动的
用了lz的方法 貌似流畅了一点
但拖动时还是会小卡
重启了ff也一样
不过还是多谢lz~~ :D

发表于 : 2008-06-20 10:01
haria1988
鄙人N卡不存在此类问题!

发表于 : 2008-06-20 10:39
longinus4ubuntu
只有6系列以後的顯卡才有這個問題。

发表于 : 2008-06-20 13:47
gzjoekeny
5200也有这个现象哦

发表于 : 2008-06-20 14:44
longinus4ubuntu
那,這個方法能改善問題嗎?

我附近沒有 n5xxx 的機器安裝 linux(實際上有,舊版本的 redhat,還沒有升級),我在似乎沒有看見低于 6xxx 的顯卡用戶抱怨這個問題,所以想當然的人為 5 系沒問題……

发表于 : 2008-06-20 15:28
jarryson
ATI卡。。好像没有这样的问题。。。开源驱动