歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Nvidia Linux驅動的低效2D表現[圖文]

Nvidia Linux驅動的低效2D表現[圖文]

日期:2017/2/28 16:56:04   编辑:Linux教程

之前,zx 長期的抱怨過 GeForce 6600GT 和 GeForce 8600GTS 糟糕的 Fx 及 Compiz 性能表現,這件事 werner 和 whans 都比較清楚,而且萬惡的 whans 同學之前還使用過令 zx 一度眼紅的 Intel 板載顯卡(什麼毛病)。最終發現問題出現在 Nvidia 顯卡驅動的 2D 部分。這是怎麼一會事呢,讓 zx 來告訴你。

Linux 下典型的窗口管理器(window manager)有 Gnome 和 KDE,這兩者 wm 雖然外觀風格差異甚大,各自使用的繪圖函數卻是建立再共同的基礎 X11 上的。2000 年,XFree86 上出現了 xrender 擴展,之後高質量的抗鋸齒和顏色混合繪圖函數漸漸替代了傳統 X11 繪圖函數(現在不知道 GDI 的繪圖函數水准怎麼樣了,反正 2k 時代是沒有抗鋸齒繪圖函數的(求證,召喚tc))。而 Nvidia 現在的驅動對這些新的帶有 alpha 混合的 xrender api 的支持可以說是很糟糕的,這就導致了在處理如下工作:帶有次像素平滑的字體渲染、面積較大的逐像素通道透明位圖繪制時,速度非常的慢——而這正好是 Fx 和 Compiz 的典型任務。

這個問題隨著 wm 技術的發展而變的越來越明顯和不能忍受:譬如 zx 酷愛使用的 Gvim,在使用了稍微復雜一點的語法高亮以後,移動光標這種平淡到讓人睡著的操作,都充滿了跳躍感;這裡就不提 Fx 裡 YY 同學的毒熊空間的卷動速度了。

[好吧,不要老抱怨,有點建設性吧]
KDE 4 推出後,N 系顯卡驚人的性能問題終於完全表現出來(托 plasma 的福),就連 Intel 都能在評測中數倍領先於這個 GPU 的發明者;獨立顯卡(2d+3d)奠基者;3dfx 衣缽的接替者(就不用說 ATI 了)。Nvidia 繼續忽視下去就太不像樣了,終於開始著手處理這個問題,現在已經有了一些比較可行的處理方法。

1、使用新的 Nvidia 驅動(要編譯)177.67

2、修改 xorg.conf
Option "PixmapCacheSize" "1000000"
Option "AllowSHMPixmaps" "0"

3、修改啟動配置文件
# nvidia-settings -a InitialPixmapPlacement=2 -a GlyphCache=1

第三條 zx 曾今介紹過,對 Fx 和 Compiz 確實有一定的效果,這裡的第二條也是非常有道理的。

Nvidia,你還是把 linux 驅動開源吧。就你這驅動的水平,和 5 年前的情況已經不同了——那時你領先,現則變成了落後,還是遠遠落後。

Copyright © Linux教程網 All Rights Reserved