游戏玩家的图形显示设置指南 (9)
作者:Koroush Ghazi 
翻译:芈希有 

第九关 图形设置--垂直同步

垂直同步

垂直同步(Vertical Synchronization, Vertical Sync,简写为VSync),主要是由于显像管的物理限制而产生的,这一点在讨论刷新率章节中已经指出了。CRT显示器必须通过不断照亮屏幕上的荧光粉来显示图像,这是基于显示器电子枪移动速度的。每次CRT显示器重画整个屏幕的时候,内部的电子枪将从屏幕底部移动到指向屏幕的左上角的点,准备'重画'所有从屏幕左上角到右下角的扫描线,等画完后,再从头准备下一次刷新。我们把为了刷新屏幕,电子枪从屏幕底部移动到顶部的时间叫做垂直空白间隔(Vertical Blanking Interval,VBI)。

在显卡上启用VSync将告诉您的显卡会与您的显示器进行同步。这意味着显卡只有当显示器说它已经准备好重画整个屏幕的时候--例如在VBI期间,显卡才被允许交换其帧缓存并将一个新的帧送往显卡。然而,您的显卡和显示器之间却不一定非要同步不可;在VSync被禁用的时候,他们仍然可以正常运行,但是当垂直扫描被禁用,您就可以体验一种被称为撕裂(Tearing)的现象,这正是因为您的显卡和显示器的行为是没有进行相互之间的限制的。

虽然概念上的VSync起源自CRT屏幕,但它适用于液晶显示器,下面我们将来解释为什么这么说的原因。

撕裂(Tearing)

如果禁用的VSync,您的显卡和显示器将会不同步,这是一个不幸的事实。每当你的FPS的超过屏幕的刷新率时(如在60Hz的屏幕上FPS为120),或在你的显卡的工作速度超过显示器的任何时候,显卡将在帧缓存区中产生比显示器实际可以显示的帧数更多的帧,所以最终的结果是,当显示器在VBI期间从显卡的主缓冲区获取一帧新图像的时候,这一帧可能实际上是由两个或者更多不同的帧相互重叠在一起而产生的。在屏幕上可能表现为每当有任何运动画面出现的时候,都会略为不对齐或'部分撕裂'--因此它被称为撕裂。下面的例子就是在模拟这种情况。仔细看看小便器和水槽--其中部分由于撕裂而产生了不对齐:

撕裂给视觉上带来的影响主要取决于您的显卡和显示器之间的不同步到底有多严重,但通常来说,较高的FPS或更快的动作游戏中,如迅速扭转的时候,这种影响将的更明显。这是因为在这些情形下,新老帧重叠部分的内容的区别会更加明显。

撕裂并不会对您的显卡或显示器有任何损害。它只是说明了当显卡和显示器之间不同步的时候,显示器在物理上为了跟上显卡的运行速度的极限。以在60Hz的显示器上运行120FPS为例,你的显示器任何一秒种内最多只能刷新60个完整的帧,所以其他60帧几乎是被浪费了,解决办法就是许多帧相互重叠而因此产生了撕裂。因此,即使您不想要启用的VSync,您也应该在游戏图形设置中进行相关的设置,以减少您的FPS,而使之接近你的刷新率。这将帮助您得到更多的帧数并同时减少撕裂。这看起来很酷,因为您将会有很高的帧率,但是当VSync被禁用的时候,你仍然可以看到有帧数上的浪费并且会引起图像故障。

不管是CRT或LCD显示器,都会出现撕裂现象,因为两者都是为了同一兼容性目的而工作的--请参看“响应时间”这章中关于解释液晶显示器为什么会表现为CRT显示器一样。

FPS和垂直同步

当垂直同步被禁用,你的FPS和刷新率之间就没有任何关系了。这使您的显卡可以按照它想的速度那样快速的工作,将帧尽快地发送到显示器上进行显示。当然显示器是否能真正正确地显示所有这些帧则是另一回事了,事实上我们已经讨论过这个问题了。显然,如果停用VSync可能导致图形故障(graphical glitches),但这些故障可能很轻微,不能因为产生了一些撕裂而浪费显卡的性能,所以总是将VSync打开?再次强调一下,事情往往并不那么简单。

当垂直同步被启用,发生的事情就是你的显卡被告知要等待您的显示器发出已经能够显示新的一帧图像的信号后,再提供一帧新的图像。显卡不能再领先了,在它准备好后,它不能将新的帧叠加在旧的帧上了--它必须在显示器说它已经在VBI期间准白好刷新它自己后,才提供一个单一的帧。这样做首先最明显的影响是,在您的FPS将被限制在目前的刷新速率上限下。因此,如果你设置的刷新率是60赫兹,你的帧率现在最高只能达到每秒60帧。这本身是不是一个真正的问题,因为每台显示器至少可以达到在任何分辨率下60Hz的刷新率,这一点在“每秒帧数”这章已经讨论过,如果你的系统可以在一个游戏中产生持续的60FPS,那么在任何游戏中你都会得到平滑自然的动作了。

然而,有一个启用VSynci会遇到的最根本的问题,就是它会大大减少您的整体帧率,往往使得你的FPS降到刷新率50%。这是一个很难解释的概念,但还是要花时间讲解一下。我们知道,当VSync被启用的时候,你的显卡几乎就成为你的显示器的奴隶了。如果在任何时候你的FPS,略低于刷新速率的话,你的显卡绘制一帧的时间将会比您的显示器刷新本身时间要长。因此,每当第二次刷新的时候,您的显卡就错过了生产新帧的时间。这意味着,无论它的主缓冲和后备缓冲区都被填满了,新的图像信息将无处可放,因此它必须被闲置,等待下一次更新时它可以将它最近产生的帧上传到缓冲区中,并且开始将后备缓冲区清除的工作。这就造成了当你的FPS低于刷新率的时候会将近损失一半的帧率。

只要你的显卡提供帧的速度比你的显示器自动刷新的速度快,启用VSYNC就不会降低你的平均帧率。所有这一切会发生,只是由于你的FPS的最高上限被限定在屏幕的刷新率。但是,由于现代的显示器刷新率都是60Hz以上,而在大多数游戏在你需要的分辨率和设置下是很难实现稳定的60fps的,所以启用VSYNC通常最终减少您的FPS。幸运的是,因为这个问题是由于没有缓冲区可以用来填补过多的帧而产生的,所以有一个解决方案,就是使用三缓冲。然而这不是一个简单的解决办法,更详细的解释请参看“三重缓冲”部分。

所以哪个更好一些?打开还是关闭垂直同步?

VSync的存在对许多人来说确实是一个难题:垂直同步关闭时,当你的显卡和显示器不同步的时候就会产生撕裂,对一些人来说这是非常讨厌的,特别是在快速运动的游戏中。然而当VSync打开的时候,您的FPS往往会下降高达50%。使用三重缓冲系统可以解决这个问题,但也带来了潜在的问题。因此,您该如何选择呢?

很明显地,我不能给你一个尺寸适合所有人的答案,但我可以提供一些建议。首先,我强烈建议你设置VSync为应用程序'偏好'(或类似的图形卡的控制面板)。这是因为你应该根据游戏的不同来设置VSync,即最好使用游戏中的设置,不同类型的游戏将导致选择的不同。例如,较新的游戏往往拥有复杂的图形,这和你的机器上可以轻松运行的旧游戏不一样。记住,在游戏中,如果你的FPS是一直高于你设置的刷新率,那么启用VSYNC是很好,并且并不会降低FPS。

总的来说,我建议你在任何游戏中都关闭VSync,因为这是获得最快性能的最直接的方法。在你的显示器的刷新率较低或者游戏的帧率并不高的情况下,这是最简单的解决方案。您可能会注意到一些撕裂,但当你的FPS小于刷新率的时候这种现象是很小的。请记住,即使你的FPS精确匹配您的刷新率,甚至更低一些,那么一旦VSync被禁用,即显卡和显示器并非严格同步,那么撕裂(虽然并不明显)就可能发生在任何时间。

在游戏中,如果您发现撕裂很讨厌的话,你就应该启用VSync。如果您发现您的FPS减少了一半,你应该接着具体尝试启用三重缓冲,因为这可以帮助修复由于启用VSync而造成的FPS下降,但它引入了新的问题,特别是在显卡的显存较少的情况下容易引起对显卡显示故障,以及控制系统的延迟。详细情况请参考“三重缓冲”部分。

没有一个可以适用每个人的关于垂直同步的选项,这就是为什么选择启用或禁用的VSync的选项存在于显卡控制面板和游戏中。只要你了解它,您就可以在选择一个合理设置。

上一篇

下一篇

转载于:https://www.cnblogs.com/mixiyou/archive/2009/11/30/1613587.html

游戏玩家的图形显示设置指南(9)(The Gamer's Graphics Display Settings Guide)相关推荐

  1. 游戏玩家的图形显示设置指南(10)(The Gamer's Graphics Display Settings Guide)

    游戏玩家的图形显示设置指南(10) 作者:Koroush Ghazi   翻译:芈希有   第十关 图形设置--三缓冲 三缓冲 在"图形处理"这一章节下的第8部分,概述了显卡如何在 ...

  2. unity敌人面向玩家_面向游戏玩家的五种便捷(免费)Windows工具

    unity敌人面向玩家 Windows is the home of PC gaming, but that doesn't mean it can't use a little bit of rem ...

  3. bada 2D游戏编程之一——图形绘制

    bada 2D游戏编程之一--图形绘制 在2D游戏中,用户见到的画面通常是通过两种方式实现的,一种是图形绘制,就是在屏幕上绘制各种几何图元,如线条和矩形等:还有一种是图像绘制,也就是常说的贴图,游戏中 ...

  4. DeepMind爆发史:决定AI高峰的“游戏玩家”|深度学习崛起十年

    翻译|刘晓祯.沈佳丽.胡燕君.许晨阳.周亚坤 很少有人会否认,过去十年,AI领域最耀眼的明星组织当属DeepMind,没有之一. 那个震动世界的高光时刻发生在2016年3月的一天,AI选手AlphaG ...

  5. Cg教程_可编程实时图形权威指南(扫描清晰版)+部分unity shader 知识

      Cg教程_可编程实时图形权威指南(扫描清晰版) .pdf (34.5 MB, 下载次数: 239) Shader Model(在 3D 图形领域常被简称SM)就是"优化渲染引擎模式&qu ...

  6. 面向游戏玩家的六款最佳Linux发行版

    面向游戏玩家的六款最佳Linux发行版 Linux系统技术交流QQ群(290864)验证问题答案:刘遄Linux就该这么学 导读 Linux过去是完全基于命令行的操作系统,后来它有了基本的图形用户界面 ...

  7. 盗号***迷上DirectX,游戏玩家很无奈

    盗号***迷上DirectX,游戏玩家很无奈 最近,网民柱子在论坛求救,"我天天玩儿DNF,今天用***杀毒之后,再启动游戏程序时,就提示找不到dsound.dll." 金山毒霸安 ...

  8. linux版本游戏排行,面向游戏玩家的六款最佳Linux发行版

    是的!你没有看错.Linux一向以性能.稳定性和安全性出名,但现在它也以游戏出名.有成百上千款面向Linux的游戏,众多的Windows游戏也已移植到Linux平台.但是,我们有很多的Linux发行版 ...

  9. linux版本游戏排行,向游戏玩家推荐的六款最佳 Linux 发行版

    原标题:向游戏玩家推荐的六款最佳 Linux 发行版 Linux过去是完全基于命令行的操作系统,后来它有了基本的图形用户界面(GUI).而如今我们有了高级的桌面环境,比如KDE Plasma等.现在, ...

最新文章

  1. CVPR 2021评审出炉,得分惨不忍睹,面对奇葩评审该如何反击?
  2. (转)spring aop(下)
  3. 【转载】【Python-ML】SKlearn库谱聚类SpectralClustering模型
  4. Linux 下 MediaWiki 的安装使用
  5. 关掉微软Word的一些不必要的插件,提高启动速度
  6. 班级日常分享:一天一瞬间!
  7. 靠谱的Pycharm安装详细教程
  8. c语言判断这天是星期几,【求指导!!】输入年,月,日,然后判断这天是星期几!!!!!...
  9. 漫画:什么是布隆算法?
  10. cacti气象图调整(批量位置调整、更改生成图大小等)
  11. L1-066 猫是液体 (5 分)-PAT 团体程序设计天梯赛 GPLT
  12. 用python把unix格式转换成windows格式
  13. 2021全国大学生数学建模 C题 解题思路和细节展示
  14. Edraw的深化使用画网络拓扑图
  15. python实现粒子滤波目标跟踪_QT+Opencv粒子滤波算法实现视频目标跟踪——如何选择跟踪算法...
  16. php小程序秒抢高并发,微信小程序的10个请求并发限制的优化消息!!!
  17. 绘图 | G2色块图
  18. 两年软件开发工作总结及未来展望
  19. 中国剩余定理(孙子定理)
  20. vue使用ttf字体包压缩 字蛛 font-spider

热门文章

  1. 超有意思的代码注释图案
  2. 建筑储能相变材料:两种热性能标准测试方法比较
  3. 伦敦春日观光好去处:奇斯威克庄园和厨房花园
  4. ESP32入门学习笔记
  5. 澳或成第二大留学国家 留学生数量激增引发担忧
  6. 如何将海量数据插入REDIS
  7. customErrors 元素
  8. 抖音上那些升100级提现1000块的游戏是什么套路?
  9. 无法打开计算机开始菜单,Win10重置系统后开始菜单打不开了如何解决?
  10. 写一个rpg maker mv 脚本,功能是让玩家在游戏开始时候可以自己捏脸