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

上网、浏览、聊天、下载等
回复
头像
longinus4ubuntu
帖子: 62
注册时间: 2006-03-16 21:40
联系:

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

#1

帖子 longinus4ubuntu » 2008-06-19 21:33

先發在自己的博客上:原文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
monanwansui
帖子: 6
注册时间: 2008-01-25 20:37

#2

帖子 monanwansui » 2008-06-20 9:56

我是用受限驱动的
用了lz的方法 貌似流畅了一点
但拖动时还是会小卡
重启了ff也一样
不过还是多谢lz~~ :D
头像
haria1988
帖子: 689
注册时间: 2008-04-17 17:53
来自: 江苏.无锡
联系:

#3

帖子 haria1988 » 2008-06-20 10:01

鄙人N卡不存在此类问题!
头像
longinus4ubuntu
帖子: 62
注册时间: 2006-03-16 21:40
联系:

#4

帖子 longinus4ubuntu » 2008-06-20 10:39

只有6系列以後的顯卡才有這個問題。
gzjoekeny
帖子: 34
注册时间: 2008-05-08 14:37

#5

帖子 gzjoekeny » 2008-06-20 13:47

5200也有这个现象哦
头像
longinus4ubuntu
帖子: 62
注册时间: 2006-03-16 21:40
联系:

#6

帖子 longinus4ubuntu » 2008-06-20 14:44

那,這個方法能改善問題嗎?

我附近沒有 n5xxx 的機器安裝 linux(實際上有,舊版本的 redhat,還沒有升級),我在似乎沒有看見低于 6xxx 的顯卡用戶抱怨這個問題,所以想當然的人為 5 系沒問題……
头像
jarryson
帖子: 4002
注册时间: 2005-08-14 19:53

#7

帖子 jarryson » 2008-06-20 15:28

ATI卡。。好像没有这样的问题。。。开源驱动
回复