概述
垂直和水平是CRT中两个基本的同步信号,水平同步信号决定了CRT画出一条横越屏幕线的时间,垂直同步信号决定了CRT从屏幕顶部画到底部,再返回原始位置的时间,而恰恰是垂直同步代表着CRT显示器的刷新率水平!
垂直同步打开,那么在游戏中,或许强劲的显卡迅速的绘制完一屏的图像,但是没有垂直同步信号的到达,显卡无法绘制下一屏,只有等垂直同步信号到达,才可以绘制。这样fps自然要受到操作系统刷新率运行值的制约。
说到垂直同步,可能有些小伙伴还很陌生。因为这是显示器分出电竞方向之后新出现的技术,以前都是显示器围着显卡转,而垂直同步则是让显卡围着显示器转。
关闭垂直同步,那么游戏中作完一屏画面,显卡和显示器无需等待垂直同步信号,就可以开始下一屏图像的绘制,自然可以完全发挥显卡的实力。
正是因为垂直同步的存在,才能使得游戏进程和显示器刷新率同步,使得画面平滑,使得画面稳定。取消了垂直同步信号,固然可以换来更快的速度,但是在图像的连续性上,性能势必打折扣。这也正是很多朋友抱怨关闭垂直后发现画面不连续的理论原因!
对于那些高速运行的游戏,比如实况,FPS游戏,打开后能防止游戏画面高速移动时画面撕裂现象,当然打开后如果你的游戏画面FPS数能达到或超过你显示器的刷新率,这时你的游戏画面FPS数被限制为你显示器的刷新率。你会觉得原来移动时的游戏画面是如此舒服,如果达不到会出现不同程度的跳帧现象,FPS与刷新率差距越大跳帧越严重(为什么?)。关闭后除高速运动的游戏外其他游戏基本看不出画面撕裂现象。
相信很多喜欢玩游戏的人对于垂直同步这个选项非常熟悉,在很多游戏的画面设置里都有这个选项。那么垂直同步究竟有什么用途?我们到底要不要打开它呢?今天小编就针对这些问题为大家解答。
垂直同步又称场同步,我们平时所说的打开垂直同步就是指将该信号送入显卡的3D图形处理部分,从而让显卡在生成3D图形时受垂直同步信号的控制。如果想要了解垂直同步有什么用途,我们需要先来了解一下,在我们没有开启垂直同步的时候,我们所看到的游戏画面是如何显示的。
首先,我们在电脑上看到的画面本质上是由一幅幅图片快速地连续显示而来的。具体过程是显卡画好一幅画面之后,这幅画面会被写入到一个“帧缓冲器”中,而这个“帧缓冲器”分为一个前缓冲和一个后缓冲,显示器负责显示前缓冲的画面,显卡就负责在后缓冲中画画。当显卡在后缓冲画完一幅画之后,前缓冲就会变成后缓冲,后缓冲变成前缓冲,就像火车头与火车尾一样交替的进行工作。这个就是我们在没有开启垂直同步时画面显示的一套流程。
其次,帧率是用于测量显示帧数的量度,它的测量单位为每秒显示帧数(fps)或赫兹(hz)。目前市面上的显示器的刷新率大多数都是60hz,而60hz的意思就是这个显示器每秒钟会显示60幅画面,但如果显卡的画图的速度超过了显示器每秒钟显示画面的速度会怎么样呢?
假设显卡每秒钟可以画90幅画面,所以在这个流程中如果出现显示器正在显示前缓冲器的画面,但因显卡画图速度过快,它已经画完后缓冲器的画面了,然后开始画前缓冲器的画面,但我们的显示器还没有把之前的画面显示完整,就会出现显卡画了一幅新的画面,然后直接把前缓冲器之前的画面覆盖掉的情况,这时显示器只能接着显示显卡新画的画面,于是显示器上的一幅画面成了前后两幅画的结合,这就是画面撕裂。
当我们玩游戏的时遇到了画面撕裂的情况,开启垂直同步就是解决这个问题的办法。打开垂直同步后,显卡的画图速度就会被限制称显示器显示画面的速度,显卡会等待显示器把每一幅画面都显示完整了之后,它才开始画下一幅画面,这样一来就避免了画面撕裂的情况。但开启垂直同步之后又会产生另外一个问题,那就是显卡等显示器把画面显示完整后才开始画下一幅画面,显卡就产生了空闲,这样就限制了显卡画图的速度。
帧数被限制后,当我们玩一些游戏时会明显感觉到游戏有延迟,而这个时候我们就可以开启三重缓冲的选项。开启了这个选项之后,会在前文所说的“双重缓冲”基础上再增加一个后缓冲,这样一来显卡就不需要等待显示器把画面显示完整了再开始画下一幅,而是选择直接在另一个后缓冲画图,这样就缓解了开启垂直同步之后画面有延迟的情况。
所以一般来讲,如果我们游戏画面没有撕裂的情况,就不用开始垂直同步,但如果有撕裂的情况,又不想画面有延迟,我们就可以打开三重缓冲选项。但是三重缓冲也并非完美无瑕。首先由于需要一个额外的帧缓冲区,因此它会占用更多的显存空间。其次,它的延迟虽然远远低于双重缓冲下的垂直同步,但相比不开垂直同步还是可能略高一点。
那么垂直同步和三重缓冲到底该不该开呢?理论上来说画面撕裂和画面延迟是无论如何都要付出一个的,但实际情况是很多优秀游戏已经做到了不管你开不开垂直同步,都不会产生太大延迟或者画面撕裂严重。如果是玩的非射击类游戏,并且游戏能跑到60帧以上时,我还是建议大家开启垂直同步的,毕竟开启垂直同步虽然会锁帧而且增加画面延迟,但大家眼里对画面撕裂的感知还是要比手上那十几毫秒的延迟强得多的,不过有些游戏在三重缓冲下的画面延迟会非常高,那种情况还是把它关了吧。
最后
以上就是霸气手机为你收集整理的openGL之API学习(六十九)水平同步 垂直同步的全部内容,希望文章能够帮你解决openGL之API学习(六十九)水平同步 垂直同步所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复