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