开学后搬到楼上的实验室,分到了一台机器,cpu:intel® pentium®iii coppermine™ 800mhz,内存 256mb pc133 sdram,显卡 nvidia® vanta/vanta lt 16mb,显示器 emc m558-pxxm 15"(还不平),这机器虽然不咋的,不过也没什么,能用就行了。

最让我感觉不爽的是,在 linux 下显示器的刷新率最高只能到 60hz,调到 800x600 也不行,感觉有些闪,挺累眼。可是在 windows 下,800x600 时,刷新率就能到 85hz。

于是我想是不是 linux 下的显卡驱动没装好,就重装了显卡驱动,可是依然没效果。于是我又猜测是不是显示器的驱动没装好,可是去网上找来找去也没找到显示器的驱动下载,只好作罢。

无奈之下翻翻周围,以其能找到有关的说明书或驱动光盘什么的,可惜依旧是一无所获。不过看到了显示器后面的铭牌,上面写着:行频:30-55khz;场频:50-150hz。于是就去网上查查什么是行频,什么是场频。

从小熊在线上一篇较早的文章上看到如下的话:
场频(vertical scanning frequency):又称为“垂直扫描频率”,指每秒钟屏幕刷新的次数,以 hz(赫兹)为单位。早期显示器通常支持 60hz 的扫描频率,但是不久以后的调查表明,仍然有 5% 的人在这种模式下感到闪烁,因此 vesa 组织于 1997 年对其进行修正,规定 85hz 逐行扫描为无闪烁的标准场频。

行频(horizontal scanning frequency):又称为“水平扫描频率”,指电子枪每秒在荧光屏上扫描过的水平线数量,等于“垂直分辨率x场频”(画面刷新次数)。以 800x600 的分辨率,和 85hz 的场频为例,显示器的行频至少应为“600x85=51khz”。

视频带宽(band width):指每秒钟电子枪扫描过的总象素,等于“水平分辨率x垂直分辨率x场频(画面刷新次数)”。在实际应用中,为了避免图像边缘故的信号衰减,保持图像四周清晰,电子枪的扫描能力需要大于分辨率尺寸,水平方向通常要大25%,垂直方向要大8%,所以实际视频带宽的计算公式为“水平分辨率x125%x垂直分辨率x108%”,即“行幀x135%“。仍然以上面为例:800x600x85hz 图像模式,实际带宽为“800x600x85x135%=55.1mhz”。
看了上面的话,对显示器的一些基本参数有了点认识,于是对照自己的显示器参数,算了一算,800x600 分辨率下的刷新率(也就是垂直扫描频率,场频)可以到 85hz,而在 1024x768 分辨率下则不可能了。

可是,为什么在 linux 下 800x600 分辨率时,刷新率最大只能到 60hz 呢?决定查一下 x 配置文件,果然在配置文件中找到了下面一段:
section "monitor"
        identifier      "generic monitor"
        option          "dpms"
        horizsync       28-51
        vertrefresh     43-60
endsection
于是“胆战心惊”(早先听人说,这样可能会损坏显示器,故心里惴惴)的把 horizsync(水平同步,也就是水平扫描频率,行频)的值修改为“30.0-55.0”,把 vertrefresh(垂直刷新,场频)的值修改为“50.0-85.0”。然后重启 x,打开“屏幕分辨率”,发现可以调到 85hz,心里一阵窃喜,选定后,屏幕能亮,果然不闪了,总算放心,又惊又喜阿

现在再回头想想,其实显示问题一般情况下要从显卡和显示器两方面综合来看,而不能单纯的只考虑一个方面,而且有时不一定是驱动问题,可能是设置不正确。类似这一次,当我装好系统后,系统自己能够让显示达到 24 位色深,最大 1024x768 的分辨率,说明系统已经识别并按装好了显卡和显示器的驱动程序,只不过是某些设置有问题。而在设置的时候一定要按照设备的相关手册、说明进行,这样才能发挥设备的最佳性能。
posted on 2009-12-30 00:49  康的瑞  阅读(1404)  评论(0编辑  收藏  举报