Next Previous Contents

9. 計算幀的大小

警告:這種方法是為多頻同步顯示器研究出來的.它或許也能在固定頻率顯示器工作,但沒有保証.

開始時通過DCF除以你的可用最高的HSF來得到一個水平幀長.

例如;假設你有一塊Sigma Legend SVGA卡,象素時鐘是65MHz,你的顯示器行頻是55KHz.那么(DCF / HSF)得到的數字是1181(65MHz = 65000KHz ; 65000 / 55 = 1181).

現在是我們巫朮的第一步.你要把這個數字舍入為最接近的8的倍數.對于SVGA和S3顯示卡使用的VGA硬件控制器這步必須進行;它使用一個8位寄存器,再左移3位,因此實際是一個11位數字.其它類型顯示卡例如ATI 8514/A也許沒有這個要求,但我們不知道,而且這個修正不會有危害.所以把合用的水平幀長值向下舍入為1176.

這個數字(DCF / HSF 舍入為8的倍數)是你可用的最小HFL.通過設置同步脈沖產生更低的HSF你能獲得更長的HFL(從而,屏幕上可有更多的水平象素).但代價是更低的刷新率和更易覺察的閃爍.

作為一個經驗法則,水平幀長的80%可用于水平掃描線的可視部分 --- 水平分辨率(概略而言這允許了邊緣和后掠時間 --- 這是電子束從屏幕的右邊緣移到下條光柵線的左邊緣需要的時間).在這個例子里水平分辨率是944.

現在,要獲得4:3的正常屏幕高寬比,把你的垂直分辨率設為你剛才算出的水平分辨率的3/4.對這個例子而言是708.要算出你實際的VFL,把它乘以1.05得到743.

4:3不是技朮上的規定;如果一個不同的比率能最好地利用你的屏幕實際尺寸的話,你完全可以使用.但4:3真的使從對角線長度算出幀高和幀寬變得很方便,你只要用對角線乘以0.8得到寬,乘以0.6得到高.

所以, HFL = 1176 而 VFL = 743 .用65MHz除以兩者的乘積給了我們一個不錯的,健康的74.4Hz刷新率.好極了!優于VESA標准!啟動X時你得到944x708,多于預期的800x600.完全不賴!

你甚至能更進一步地改進刷新率,几乎達到76Hz,因為顯示器常常以高于額定大約2KHz的頻率進行行同步而且稍微降低VFL(換言之,在上例中垂直分辨率小于944的75%).但在嘗試這種"過度驅動"的機動之前,如果你真的要進行,確認顯示器電子槍場頻能達到76Hz.(例如,流行的NEC 4D不行.它的VSF只能達到75Hz).(查閱 過度驅動你的顯示器獲得這個問題更全面的討論.)

迄今為止,上述內容大部分是簡單的算朮和關于光柵顯示器的基本事實.几乎完全沒有任何巫朮!


Next Previous Contents