在修改一項Xconfig條目前,有一些基本情況你需要了解.它們是:
行頻就是每秒顯示器能水平掃描的行數;它是關于你的顯示器的一個最重要的統計數值.場頻是每秒顯示器能垂直掃描的幀數.
同步頻率通常列在顯示器手冊的技朮規格頁中.場頻值典型地以Hz(每秒周期數)標定,行頻以KHz(每秒千周數)標定. 通常場頻的范圍在50到150Hz之間,行頻在31到135KHz之間.
如果你有一台多頻同步顯示器,會給出一個頻率范圍.某些顯示器,尤其是低檔的,有多個固定的頻率.它們也能進行配置,但你的可選項會被顯示器固定的技朮規格嚴格限制.為最佳的分辨率配對選擇最高的頻率.并且要小心 --- 試圖對一台固定頻率顯示器設置高于其設計技朮規格的頻率會很容易地損壞它.
本指南的早期版本在過度驅動多頻同步顯示器方面相當積極,驅使它們超過其名義上的最高場頻以獲得更好的性能.從那以后我們指出了更多理由對這種做法進行告誡;我們將在下面章節 過度驅動你的顯示器中論及.
顯示器的頻寬應該包括在手冊的技朮規格頁中.如果沒有,看看顯示器的最高額定分辨率.作為一個經驗法則,這里指出怎樣把它們轉化為頻寬的估計值(從而轉化為你可以使用的象素時鐘的大致上限):
640x480 25
800x600 36
1024x768 65
1024x768隔行 45
1280x1024 110
1600x1200 185
順便說一句,這張表格并不神秘;這些值只是在標准XFree86模式數據庫中每種分辨率的最低象素時鐘而已(最后的一個例外,是我用插值法補上的).實際上你的顯示器頻寬很可能高于它在最高分辨率下要求的最小值,所以不要擔心去嘗試一個高若干MHz的象素時鐘.
也請注意對約65MHz以下的象素時鐘來說,頻寬很少是一項有影響的因素.對于一張SVGA顯示卡和大多數高分辨率顯示器而言,你怎么也不會達到你的顯示器頻寬的限值.下列各項是例子:
型號 頻寬
---------- ---------------
NEC 4D 75MHz
Nano 907a 50MHz
Nano 9080i 60MHz
Mitsubishi HL6615 110MHz
Mitsubishi Diamond Scan 100MHz
IDEK MF-5117 65MHz
IOCOMM Thinksync-17 CM-7126 136MHz
HP D1188A 100MHz
Philips SC-17AS 110MHz
Swan SW617 85MHz
Viewsonic 21PS 185MHz
PanaSync/Pro P21 220MHz
甚至低檔顯示器通常在其額定分辨率也不會太受限于頻寬.NEC Multisync II是一個很好的例子 --- 按照它的技朮規格它甚至不能顯示800x600.它只能顯示800x560.對這樣的低分辨率你不需要高的象素時鐘或大的頻寬;或許你可以作到最好的是32MHz或36MHz,兩者離該顯示器的額定頻寬30MHz仍不太遠.
在這兩個驅動頻率下,你的屏幕畫面也許沒有它理應達到的那么清晰,但畫面質量顯然可以接受.如果NEC Multisync II頻寬能高于36MHz當然更好.但對普通任務象文本編輯而言這不是很關鍵的,只要差別不要顯著到造成嚴重畫面變形即可(如果這樣你的眼睛會立刻告訴你的).
你的顯示卡手冊的技朮規格頁通常會告訴你該卡的最大象素時鐘(那是指每秒鐘顯示卡能寫到屏幕上的像素總個數).
如果你的手冊沒有這項信息,X服務器會為你查出.最近版本的X服務器全都支持 --probeonly 選項,可以顯示出這項信息然后退出,用不著真正啟動X或改變顯示模式.
如果你的X沒有 --probeonly 選項也不要擔心.即使X鎖住了你的顯示器,它仍會把一行關于時鐘和其它錯誤的信息顯示在標准輸出上.如果你把這條信息重定向到一個文件,它會保存下來,即使你不得不重啟動以回到控制台.
探查的結果或啟動信息看上去應該類似以下例子之一:
如果你使用XFree86: (譯注:以下為屏幕輸出,----下為屏幕輸出的翻譯和說明)
Xconfig: /usr/X11R6/lib/X11/Xconfig -------------------------- X配置文件所在路徑 (**) stands for supplied, (--) stands for probed/default values -------- --------------------- (**)代表提供值 (--)代表檢測值/缺省值 (**) Mouse: type: MouseMan, device: /dev/ttyS1, baudrate: 9600 -------- ---------- ---- 鼠標類型 鼠標設備文件名 與串口通訊速率 Warning: The directory "/usr/andrew/X11fonts" does not exist. Entry deleted from font path. (**) FontPath set to "/usr/lib/X11/fonts/misc/,/usr/lib/X11/fonts/75dpi/" -------------------------------------------------- 字體路徑 (--) S3: card type: 386/486 localbus ---------------- 顯示卡總線類型 (--) S3: chipset: 924 --- Chipset(芯片集) --- 這是確切的芯片型號;一種86C911之前的型號 (--) S3: chipset driver: s3_generic ---------- 芯片集驅動程序 (--) S3: videoram: 1024k ----- 顯示卡上幀緩沖內存(俗稱顯存)的大小 (**) S3: clocks: 25.00 28.00 40.00 3.00 50.00 77.00 36.00 45.00 (**) S3: clocks: 0.00 0.00 79.00 31.00 94.00 65.00 75.00 71.00 ------------------------------------------------------ 以MHz計算的可用的驅動頻率 (--) S3: Maximum allowed dot-clock: 110MHz ------ 頻寬 (**) S3: Mode "1024x768": mode clock = 79.000, clock used = 79.000 ------ ------ 1024x768下模式時鐘 (--) S3: Virtual resolution set to 1024x768 -------- 虛擬屏幕分辨率 (--) S3: Using a banksize of 64k, line width of 1024 (--) S3: Pixmap cache: (--) S3: Using 2 128-pixel 4 64-pixel and 8 32-pixel slots (--) S3: Using 8 pages of 768x255 for font caching
如果你使用SGCS或X/Inside X:
WGA: 86C911 (mem: 1024k clocks: 25 28 40 3 50 77 36 45 0 0 79 31 94 65 75 71) --- ------ ----- -------------------------------------------- | | | 以MHz計算的可用驅動頻率 | | +--顯示卡上幀緩沖內存的大小 | +--芯片型號 +--X服務器類型
注意:在你的機器卸下負荷后(如果可能的話)才進行檢測.因為X是一個應用程序,它的時序循環會與磁盤活動沖突,造成上述的數值不准確.檢測几次觀察數值是否穩定;如果不穩定,關掉一些進程直到數值穩定.你的鼠標守護進程,如果有的話,特別可能讓你失敗(鼠標守護進程對Linux用戶而言是gpm,對SVr4用戶而言是mousemgr).
為了避免時鐘檢測的不准確性,你應該寫下時序值并把它們作為時鐘屬性值放到你的Xconfig中 --- 這抑制了時鐘循環,給予X一份可以嘗試的時鐘值的准確清單.使用上面例子的數據:
wga Clocks 25 28 40 3 50 77 36 45 0 0 79 31 94 65 75 71
在負荷高度變化的系統上,這也許可以幫你避免神秘的X啟動失敗.有可能X啟動時,由于系統負荷而獲得錯誤的時序值,于是不能在其配置數據庫中找到一項匹配的象素時鐘 --- 或找到錯誤的一項!
你的顯示器的同步頻率范圍,與你的顯示卡的象素時鐘一起,決定了你能用的極限分辨率.但由驅動程序決定對你的硬件的潛力利用到什么程度.一套出眾的硬件組合卻沒有同樣能令人滿意的設備驅動程序是對金錢的一種浪費.另一方面,有一個萬能的驅動程序但硬件能力相對較弱的話,你就能盡可能地挖掘硬件的潛力.這是XFree86的設計主導思想.
你應該把你用的象素時鐘與顯示器的頻寬相匹配.然而,這是有很大彈性的 --- 一些顯示器能超出頻寬標稱值30%運行.這里的風險在于超出顯示器的額定場頻;我們會在下面詳細討論它們.
了解頻寬使你能在各種可能的配置中作出更明智的選擇.它會影響顯示器的畫面質量(尤其是微小細節的清晰度).