“垂直同步”到底應該開啟還是吃灰?


遊戲玩家們對於遊戲設置裡的“垂直同步”(V-SYNC)選項一定不陌生,但卻很少有人知道這個功能的具體作用,而“千萬不要打開垂直同步”的傳言也在遊戲圈內廣為流傳,這又是為什麼呢?


“垂直同步”到底應該開啟還是吃灰?


1、要明確“垂直同步”的概念,我們首先需要了解兩個名詞:“刷新率”和“緩衝區”


刷新率


顯示器刷新一幀畫面時,並不是一次性把整個畫面全部刷新出來,而是從上到下一行一行逐漸把圖片繪製出來的。這個過程非常快,以至於人的眼睛難以覺察到,這個過程就被稱為“逐行掃描”,是當前顯示設備最主要的成像方式,當然早前的顯示設備採用的是隔行掃描的顯示方式,今天已經很少見到了。


“垂直同步”到底應該開啟還是吃灰?


而經過“逐行掃描”之後,一張完整的畫面就呈現在顯示器上了。那麼我們經常在顯示器或電視上看到的一個參數——“xxHz”是什麼意思呢?


拿刷新率為60Hz的顯示器來舉例,“60Hz”就是指其屏幕一秒會刷新60次畫面,如同我們知道的動畫片一樣,無數張靜態的畫面快速連續播放,由於人眼有“視覺暫留”,也就呈現出了動態的效果。而我們看到顯示器上的畫面,也正是以這種方式呈現在我們的眼前。


緩衝區


顯卡渲染好一張畫面之後,就會把這張畫面儲存在顯存中的特定位置,這個位置就是“緩衝區”,儲存之後顯卡才會去渲染下一張畫面。


如果顯卡每秒鐘可以產生120張畫面是怎麼樣的情形呢?很顯然,就是每1/120 秒就會有一張畫面被存入緩衝區中,下一個1/120 秒,新的畫面就會把上一張給取代掉,而這個過程,就是我們玩家都很熟悉的“幀數”概念。


“垂直同步”到底應該開啟還是吃灰?


那麼現在問題就來了,如果顯卡每秒可以產生120 張(即120幀)畫面,但顯示器每秒只能讀取60 張(即60Hz),這會出現什麼問題呢?


答案就是:畫面撕裂。


2、當今顯卡的緩衝區分為兩個:前緩衝區和後緩衝區。顯卡只會將繪製完的圖像寫入後緩衝區,與此同時只有前緩衝區中的圖像會被髮送給顯示器。


當後緩衝區中的“新鮮”圖像寫入完成後,程序不會將後緩衝區的畫面傳輸到前緩衝區,而是會進行緩衝區的交換——將前緩衝區和後緩衝區的名字對調,即前緩衝區成了後緩衝區,後緩衝區成了前緩衝區。這樣一來,剛剛繪製在後緩衝區的圖像就能順利地傳給顯示器了。經過這麼一折騰,程序就可以在往後緩衝區寫入圖像的同時,不影響顯卡將前緩衝區中的畫面傳給顯示器,然後進行下一次“緩衝區交換”。


這個過程就是顯卡設置中常見的“雙重緩衝”。


但是雙重緩衝有個問題,兩個緩衝區隨時都可能發生交換,所以就會出現這種情況:前緩衝區中的畫面剛傳輸了一半給顯示器,兩個緩衝區就發生交換了,後面傳輸的都是原來後緩衝區中的畫面(即下一幀畫面)。於是,顯示器上的一幅畫面成了前後兩幀的結合,這就是畫面撕裂產生的原因。


“垂直同步”到底應該開啟還是吃灰?


這種問題在高幀率情況下尤為顯著,因為幀率越高,前後緩衝區的交換就越為頻繁,這種撕裂感自然很招人煩,尤其是在玩遊戲的時候。那麼有什麼解決方式嗎?


這就是“垂直同步”的作用了。打開垂直同步選項後,當顯示器尚未完成一幀畫面的刷新時,兩個緩衝區就不允許交換;只有當顯示器刷新完一幀畫面時,緩衝區才可以進行交換,這樣就杜絕了“在進行數據傳輸的過程中交換緩衝區“的可能,自然也就解決了畫面撕裂的問題。


“垂直同步”到底應該開啟還是吃灰?


但這樣就萬無一失了嗎?並不是。


新的問題就是我們深惡痛絕的:延遲。


3、在幀率比顯示器刷新率高很多的情況下,為了將顯示器的刷新時間和顯卡向緩衝區寫入畫面的時間保持同步,必然就需要人為地增加延遲,來延後“過快生成的畫面“向顯示器的輸出,這顯然會造成一定程度上的影像傳輸和操作反饋的延遲。


延遲對於需要快速反應的競技類遊戲來說幾乎是致命的,這也是為什麼很多玩家建議關閉垂直同步的原因所在了。


既然不開垂直同步會畫面撕裂,開了又會有延遲,那畫質和性能就不能兼得嗎?


當然,顯示技術的發展不會漠視這個問題的存在,當前主打電競的顯示器配備的“G-Sync” 和“ FreeSync”技術正是為了解決這個問題而存在的,兩項技術都屬於“顯示器動態刷新”技術,目的是讓顯示器可以動態調整自己的刷新率,使其和顯卡輸出畫面的幀率完全同步,這樣不僅可以解決畫面撕裂的同時不出現操作延遲,還可以在幀率低於60幀的情況下同樣提供垂直同步的效果,消除畫面撕裂。


“垂直同步”到底應該開啟還是吃灰?


但這種顯示器普遍價格較高,而且涉及設備的更換,當前已經有了更簡單的解決方案——“三重緩衝”,它在雙重緩衝的基礎上再加入了一個幀緩衝區,組成了一個前緩衝區,兩個後緩衝區的規格。程序來回向兩個後緩衝區寫入圖像,每次顯示器刷新時,前緩衝區就和最近完成寫入的那個後緩衝區交換。


這樣即便有一個緩衝區被禁止交換,另外兩個緩衝區還是可以來回寫入圖像,於是就不需要人為增加畫面延遲了。


“垂直同步”到底應該開啟還是吃灰?


但“三重緩衝”依舊存在問題,那就是需要額外佔據顯存,對配置不那麼高的玩家而言,顯然也存在額外成本。而更重要的一個問題是,遊戲是否支持“三重緩衝”,完全取決於遊戲廠商,遊戲廠商們是否願意花費不菲的人力和資金去解決問題,那就不是我們能決定的了。


4、說了那麼多,建議就是,對於自己電腦的配置有足夠自信的玩家,還是建議打開“垂直同步”和“三重緩衝”,這對消除畫面撕裂和延遲都是很有幫助的。但如果你的配置不夠到位,或是發現打開之後存在嚴重延遲,那麼就果斷關掉吧,想解決問題還是需要升級設備了。


分享到:


相關文章: