概述
垂直同步--这个词已让身为菜鸟的我困惑了好多年。我带着这样的疑问去找一位资深的"老鸟"级人物,他告诉我:垂直同步一定要关!并打开电脑证明给我看:关闭垂直同步时,CS 1.5的帧速稳在99FPS;但打开垂直同步后,帧速就降到了60FPS。"99FPS绝对比60FPS快吧?"这是他扔给我的最后一句话。
帧速是什么?FPS又是什么?连这一点点名词都搞不清楚的我回家后赶紧爬到网上搜索,在渐渐熟悉这些名词的过程中我竟然发现了"老鸟"的重大失误……
1. 什么叫做FPS?什么叫做刷新率?他们两个是一回事吗?
FPS是英文"Frame per second"的缩写,中文可译为:每秒钟画面更新次数。我们平时所看到的连续画面都是由一幅幅静止画面组成的,每幅画面称为一帧,FPS正是对"帧"变化速度的数值描述,单位是"帧/秒"。一般而言,人们认为20FPS是RPG类游戏运行的最低标准,但对CS、极品飞车等高速游戏来说,60FPS才能得到比较理想的效果。
刷新率简单说就是显示器每秒钟刷新屏幕的次数,单位是Hz(赫兹)。由于CRT显示器的荧光屏上涂的是中短余辉荧光材料,每次刷新屏幕后图像的残影会滞留在屏幕上渐渐变暗,所以要求电子枪不断的反复"点亮"荧光点,才能让我们看到稳定、不闪烁的图像。对于图像无闪烁的液晶显示器来说,刷新率指标一向不被人们重视,不过随着高速液晶显示技术的进步,刷新率的重要性再次凸现出来,用户已不再满足于液晶显示器的无闪烁特性,更对其显示速度与流畅性提出了要求。
刷新率与FPS之间的关系是不平等的,打个比方来说:一幅静态图片,你可以说这副图片的FPS是0帧/秒,但绝对不能说刷新率是0Hz,也就是说刷新率不随图像内容的变化而变化。显示器作为人机对话的最后一个设备,它更容易形成显示速度的瓶颈。打个比方来说,如果显示器刷新率设置为60Hz而显卡生成图像的帧速是100FPS,则最终用户看到的图像仍是60FPS。为了平衡这两者的关系, "垂直同步"的概念应运而生。
2. 什么叫做垂直同步?它对游戏的速度和画质有什么影响?
垂直同步又称场同步(Vertical Hold),从CRT显示器的显示原理来看,单个象素组成了水平扫描线,水平扫描线在垂直方向的堆积形成了完整的画面。显示器的刷新率受显卡DAC控制,显卡DAC完成一帧的扫描后就会产生一个垂直同步信号。我们平时所说的打开垂直同步指的是将该信号送入显卡3D图形处理部分,从而让显卡在生成3D图形时受垂直同步信号的制约。
当我们选择"等待垂直同步信号"(即打开垂直同步)时,显卡绘制3D图形前会等待垂直同步信号,当该信号到达时,显卡开始绘制3D图形,如果显卡性能较为强劲,在下个垂直同步信号到来之前已经完成了对该帧的渲染,显卡就会暂停处理,等下个垂直同步信号到来后才开始渲染下一帧。由此可见,当打开垂直同步时,游戏的FPS要受刷新率的制约,对于高端显卡而言,限制了其性能的发挥。
当我们选择"不等待垂直同步信号"(即关闭垂直同步)时,3D引擎将全速运行,不再等待垂直同步信号的到来,显卡性能得到了最大的发挥。所以我们测试显卡3D性能时,一定要关闭垂直同步。不少的朋友认为在游戏中关闭垂直同步可以得到更高的帧速,其实不然,这虚高的帧速不仅要受到显示器刷新率的制约,更会对游戏画面产生不良的影响。一般来说,关闭垂直同步会导致游戏画面产生以下两种问题:
(1)画面撕裂
假设游戏中有一面黑白相间的栅栏墙高速向左运动,显示器设定的刷新率是100Hz,游戏运行速度为200FPS,则显示器扫描第1帧图像至屏幕垂直方向中点时,显卡已经将第2帧图像送了过来,由于栅栏墙高速向左运动,第2帧图像已经左移了一段距离,最终显示的图像如图(图01)。
图1
CS 1.5、Quake等大多数PC游戏在关闭垂直同步后都会有这种现象产生。如果你的电脑上装有CS 1.5游戏,不妨自己证实一下:关闭垂直同步后进入游戏,按下键盘上的左箭头"←"让视角匀速转动,是不是看到了"画面撕裂"的现象?打开垂直同步后做相同的测试,画面是不是清爽了许多?
(2)跳帧
假如显示器设定的刷新率是80Hz,显卡以100FPS循环显示0-9数字,那么,在开始的0.1秒内,显卡显示了10个数字而显示器只刷新了8次,最终你看到的图像很可能是这样的:(表格如图02)
可见,由于显示器刷新率跟不上游戏的FPS,只能舍弃一部分画面,这种现象表现在游戏里就是跳帧。鬼武者3等一些移植到PC上的游戏在关闭垂直同步时通常会出现这种问题。
图2 通过以上的了解,我们认识到,要想在游戏中获得更好的画质,垂直同步一定要开!正是由于垂直同步的存在,游戏才会有完整、稳速、不跳帧的画面。套用一句广告语来说:"自从开了垂直同步后,画不破了,帧不跳了,头也不眩晕了。"
3. 速度与画质的完美解决之道。
有了以上知识,我们看到,要想获得完美的游戏效果,"高刷新率+打开垂直同步"二者缺一不可。不过,令不少用户头痛的是:Windows 2000及其以上版本操作系统中,当显卡运行在Direct 3D或者OpenGL状态时,刷新率会跳回60Hz,导致游戏最高帧速也被限制在了60FPS。针对这个问题,NVidia和ATI两大显卡厂商已经在驱动中内置了刷新率锁定功能,其他品牌的显卡也可采用第三方软件来实现。
1. NVidia篇
NVidia的ForceWare驱动已集成了刷新率锁定功能,不过从60.××版本开始,NVidia将其隐藏了起来,我们可以用NVtweak来打开。软件运行后,直接点击左下角的"Enable All"来打开所有隐藏选项,如图(图03)。
图3
再次进入显卡控制面板就会发现左边多出了一个"刷新率超频"选项,点击后在右侧选择"指定默认刷新频率"并为每个分辨率设置合适的刷新率,如图(图04)所示。再次进入游戏,你就会发现刷新率已经不再是讨厌的60Hz了。
图4
2. ATI篇
ATI已在催化剂控制中心(Catalyst Control Center)程序中提供了刷新率锁定功能,首先打开显卡控制中心,依次进入"图形设置→显示选项",将右侧的"3D刷新率覆盖"设置为显示器推荐的刷新率,如图(图05),确定后生效。
图5
早期的ATI控制面板(ATI Control Panel)驱动却没有提供这项功能,不过我们可以安装免费的ATI Tray Tools来实现。软件运行后会在任务栏创建一个红色图标,右击该图标,依次选择"Refresh Lock→Customize",在出现的"Customize Refresh Lock "窗口中选择分辨率、色深及相应的刷新率并将其添加到列表里,如图(图06)所示,最后勾选"Enable Refresh Lock"确定生效。
图6
3. 其他显卡篇
其他显卡厂商通常没有在驱动程序里提供刷新率锁定功能,推荐大家下载适用于所有显卡的Refresh Lock。软件运行后会自动检测显示器在各个分辨率下的最佳刷新率,一般不用手动设置,只需将"刷新覆盖"打开并设置为"总是为模式使用最快的安全频率"后点击"保存"按钮即可(如图07),非常方便。
图7 做好以上工作后,你就可以投入到高画质、高帧速的游戏中尽情享受了。只要菜鸟能少一些盲从,多一些怀疑;少一些空谈,多一些求证,你就会发现,通向老鸟的路并不遥远!
最后
以上就是苹果摩托为你收集整理的获得完美游戏效果 解析显卡垂直同步设置的全部内容,希望文章能够帮你解决获得完美游戏效果 解析显卡垂直同步设置所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复