要想了解GSync和FreeSync到底是什么,这里还需要知道一个名词——帧缓存,也叫Frame Buffer。显卡在渲染画面的时候,其性能是固定的,而游戏场景的复杂程度是不同的,不同画面对于显卡本身的运算压力也不同,这就是你在玩游戏时游戏帧率飘忽不定的原因。
而显示器的刷新率是固定的,165Hz的显示器就是每隔1/165秒完成一幅画面的逐行扫描,为了让输出帧能够匹配固定的刷新率,显卡都会设置帧缓存。基本就是两个画面的缓存,一个叫前缓存一个叫后缓存。显卡渲染完一幅图像之后并不是直接交给显示器显示,而是先写入后缓存。后缓存写入完毕之后,前缓存会跟后缓存发生交替,后缓存就变成了前缓存,前缓存就变成了后缓存,这就是所谓的帧传递。
如果显示器的刷新率和游戏帧数是匹配的,那么显卡与前缓存、后缓存、显示器配个默契,并不会出现画面撕裂的情况。前面学弟说了,显卡的帧率会因为游戏画面的难易程度不同而变化,所以实际上并不是那么如愿进行,显卡渲染图片的速度可能会跟显示器不匹配。假设显卡的渲染速度比显示器显示画面的速度快,显示器正在显示的画面还没扫描完,显卡就已经把下一幅画面渲染好了,那么刚刚渲染好的画面会直接被显示器逐行扫描显示,上一幅画面跟新画面出现了重叠,就会出现画面撕裂。
还有另一种情况就是显卡的渲染速度比显示器慢,这个时候显示器显示画面的速度要比显卡快,显示器逐行扫描完一张图片之后,下一张图片显卡还没渲染完,显示器只能一直重复扫描上一张画面等待显卡渲染完新图片,在重复逐行扫描之前画面的过程中,显卡突然将新画面渲染好了,也会出现画面撕裂现象。