
最近,许多玩家一直在热烈讨论《守望先锋》的优化和内部设置,其中我不得不说: 垂直同步和三重缓冲!这是一个很大的细节,会影响许多玩家的游戏体验,但是什么是垂直同步呢?什么是三重缓冲?他们对游戏有什么影响?大概很多玩家不了解它,下面的编辑器将带给您详细的科学知识!
首先,魔术马被称为“垂直同步”.
顾名思义,首先某些事物必须是“垂直的”,然后另一事物必须与此垂直事物同步. 一起称为垂直同步.
那么什么是“垂直”?
众所周知,古代的CRT显示器的显示原理是使用电子扫描荧光屏以发光. 参考上图,电子从A1开始,从左到右,从上到下. 当扫描到D4位置时,屏幕上的完整图像完成. 当电子扫描到D4时,图形卡将发送一个称为“垂直同步”的信号,通知显示器已完成一帧的扫描,现在该回到A1开始扫描下一帧了. 这是“垂直同步信号”

此垂直同步信号由图形卡发送到监视器. 一方面,它告诉显示器返回到A1位置. 另一方面,它也通知图形卡准备输出下一帧.
在LCD显示器时代,没有电子之类的东西,但是仍然需要垂直同步信号,否则图形卡将不知道何时可以输出下一帧,并且显示器也不知道何时可以开始处理帧.
许不清楚LCD显示器的刷新率和响应时间之间的差异,这常常使两者混淆. 实际上,刷新率是指液晶显示器可以工作的垂直同步信号频率. 通常固定为60HZ,但液晶电视和其他显示器可以使用24HZ,25HZ,30HZ,60HZ,120HZ ...和许多其他刷新率. 工作. 液晶显示器也有自己的IC芯片. 它接收到的数字信号需要一定的信号处理过程才能最终显示在屏幕上. 因此,即使液晶显示器也需要垂直同步信号来告诉他何时已接收到完整的信号. 一帧. 坦率地说,液晶显示器绝对需要刷新率.
响应时间是指液晶像素转换所需的时间. 例如,如果某个像素显示红色,并且图片的下一帧需要更改为绿色,则该像素从红色更改为绿色所需的时间就是响应时间. 如果响应时间太长,颜色将不正确. 在很短的时间内,像素既不是红色也不是绿色,而是两种颜色之间的过渡颜色. 这是“拖影”现象. 原因.
好的,我们已经弄清楚了什么是“垂直同步信号”及其作用. 接下来,我们必须问,该垂直信号应同步什么?
这从图形卡的工作原理开始:

不要被上面复杂的图表吓到. 实际上,显卡的工作流程非常简单. 首先,它接受来自CPU和内存的数据,然后由BLABLA处理. 最后,它生成一帧图片,然后重复前一过程以生成下一帧,依此类推. 一般科学,到此为止. 但是实际上,很少有人提到的关键是右下角的“帧缓冲区”.
帧缓冲区本质上是视频存储器中的一组存储数据(缓冲区),用于存储帧中每个像素的数据. 图形卡将缓冲区数据依次输出到显示器. 当所有输出完成时,它发出垂直同步信号,然后输出到显示器,然后发出垂直同步信号,依此类推. 实际上,整个垂直同步,双重和三次缓冲的概念实质上是“帧缓冲器数据输出规则”.
缓冲区中的数据由图形卡生成. 假设我们的图形卡速度很快,每秒产生的帧数必须超过显示刷新率. 然后,在实际的数据处理过程中,缓冲区中的数据在输出之前会被图形卡连续刷新和重写. 但是缓冲区不是“先清空然后写入数据”,效率太低,而是“新数据覆盖旧数据”的方法!
让我们假设缓冲区已经有一个完整的帧(帧A),然后图形卡将生成下一个帧(帧B),并且新帧的数据将在中途开始写入缓冲区中,垂直同步信号到来,因此缓冲区中的数据被输出到显示器. 但是问题在于缓冲器中的数据是由一半A帧和一半B帧数据组成的. 因此,显示屏上显示的最终照片不是完整的照片. 这就是“图片撕裂”现象的原因!
好的,我们现在需要解决“屏幕撕裂”问题,我们该如何解决?一些聪明的学生说这并不容易. 将数据完整保存在帧缓冲区中就足够了. 没错,这就是“垂直同步”的原理!

实际操作是这样的. 当图形卡生成完整图片并将其写入帧缓冲区时,请暂停!之后,开始等待垂直同步信号,获得垂直同步信号后,继续将下一帧渲染到缓冲区中. 这样,“一个图像具有一个垂直同步信号,并且该图像和信号是同步的”可以确保缓冲区中的数据始终是完整的图像,并且不会混合前后帧!
但是,世界上哪有一件容易的好事?打开垂直同步会导致两个问题!
首先,丢弃的帧数.
一个明显的原因是,如果刷新频率为60HZ,则如果图形卡需要等待垂直同步信号生成下一帧,则帧数将不会超过60帧/秒. 但这不是全部问题. 如果您的图形卡性能不足以保证每秒60帧怎么办?然后将出现以下情况: 在垂直同步信号的周期内无法渲染图片的一帧,然后图形卡将输出前一帧,并且在经过一段时间的延迟后将输出下一帧. 如果您不打开垂直同步,则帧数为50,而如果打开垂直同步,则其帧数可能仅为40左右,甚至更少;
第二,操作被延迟.
原因基本上与减少帧数相同. 您的操作决定了图形卡如何生成下一帧,如果该帧需要两个或三个垂直同步信号周期输出到显示器,则延迟将非常明显. 但是与帧减少问题不同,即使您的图形卡速度很快并且在打开垂直同步时仍可以保持60FPS,操作延迟问题仍然存在. 原因是在等待垂直同步过程中图形卡不会生成新帧,但是您的操作是连续的. 这样的连续操作无法生成连续的帧,并且操作会延迟.

学生会说,该死,垂直同步的坏事最好是不要打开!
是的,因此可以使用垂直缓冲来替代垂直同步!
什么是三重缓冲?实际上,原理很简单.
在垂直同步方案中,我们让图形卡在接收垂直同步信号之前“暂停”新帧的生成. 这是各种问题的原因. 因此,要解决该问题,图形卡需要连续不断地生成新帧.
让我们再次回顾一下帧缓冲区的原理. 视频存储器中的固定区域临时存储帧数据. 为了防止图像撕裂,必须确保缓冲区中的数据完整,但是要确保数据完整,则不能随时发送. 将数据写入缓冲区. 然后,让我们再建立一些缓冲区.
因此,坦率地说,所谓的三重缓冲就是我们有3个帧缓冲!除了通常用于将信号输出到显示器的缓冲区(区域A)之外,我们还开放了2个其他缓冲区(区域B1和B2). 当区域A已满并等待垂直同步信号时,图形卡将生成一帧图像写入区域B1中;如果需要产生下一帧,则将其写入区域B2;如果需要另一帧,则将其写入区域B1. 简而言之,在获得垂直同步信号之前,总是将帧数据写入B1或B2区域. 获得垂直同步信号后,最新的帧将被写入A1区域并输出到显示器. 当然,这只是原理. 实际上,没有固定用途的缓冲区. 哪个缓冲区是最新生成的帧,可以用作A区域来输出帧图片数据.
这样,我们首先解决了帧减少的问题. 由于图形卡无需暂停并等待信号来生成新帧,因此从理论上讲,帧速率与未打开垂直同步的帧速率相同. 帧频不会降低,操作延迟也不会那么明显. 尽管最终结果的帧数与刷新率相同,但是由于图像和操作是连续的,因此不会引起额外的操作延迟.
看到这一点,现在每个人都可以理解为什么我们需要打开“垂直同步”和“三重缓冲”!
另一个学生问,三重缓冲是如此完美吗?当然不是,这个世界上的一切都有代价. 三重缓冲的问题在于视频内存非常大. 这很容易理解. 最初只需要一个缓冲区,但是现在已经变成三个,因此视频内存占用率自然是原来的三倍. 如果您打开高分辨率,抗锯齿等功能,则内存使用率将提高.
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-305726-1.html
杨洋的Hi-Res初体验##杨洋h
感谢@SMTOWN让宋茜身高魔术般地变成了最矮的
你先合着找一个