垂直同步的迷思

相信大家玩電腦遊戲,尤其是FPS及RTS的時候,會留意到畫面選項有一個名為「垂直同步」(V-Sync)的選擇,而且不像其他畫面選項有高低之分,只有開和關。單從字面看,很少人會真的明白這個選項的功能何在。要知道它的功能和原理,就要從影像的顯示方式說起。

FPS與Refresh Rate

FPS除了指「第一人稱射擊」(First-person Shooter)外,還可以指「畫面更新率」(Frame Per Second),又有稱為「幀率」,故名思意就是指每秒鐘所顯示的影格數目。相信大家玩遊戲時都會十分看重FPS,因為愈高的FPS就代表每秒所顯示的影格愈多,遊戲就愈流暢,畫面更連貫。我們看的畫面和動畫一樣是由一幅幅靜止的影像組成,一個合格的FPS數值應該要有12,這是一般人人能感覺畫面連貫的最低數值,但要感覺到流暢,一般也要20左右,這要視乎不同的人。

至於「螢幕更新頻率」Refresh Rate是螢幕的一種規格。和FPS差不多,也是代表畫面每秒所顯示的影格數,不過Refresh Rate是一個固定的數字,即使遊戲時FPS是多少,對傳統CRT螢幕而言還是以同一個頻率閃爍著,只是FPS跟不上時螢幕就會保持顯示著同一個影格而已。而LCD就和燈泡一樣,只會亮和滅,只有影像有變化時才會變化,這些「燈泡」最高速的閃爍頻率就成了螢幕更新頻率。每一個螢幕的更新頻率都是固定的,一般電腦LCD螢幕都是60Hz,75Hz也是常見的,而近年興起的電腦3D顯示技術—NVIDIA 3D Vision就需要擁有120Hz的螢幕,使螢幕能將兩個重疊但有距離偏差的影像顯示以60FPS的速度交替顯示。

垂直同步信號

每顯示一個影像,螢幕會分別地從水平和垂直的方向畫出一條條線(也可說成掃描),如織布般交織出一個平面影像,而在LCD中就是把液晶體翻轉。其中,垂直同步信號是用來確保垂直畫下來的線都已經到位,每當一條線畫到螢幕底了,就會回傳一個信號到螢幕頂端,只有螢幕收到和垂直解析度相同數目或一半的信號(例如1280×720的解析度就要等候720個垂直信號回傳,如果螢幕是用隔行掃描的話,則減半),才會指示螢幕開始下一次掃描,以免螢幕掃描步調不一,造成畫面殘破。垂直同步信號的頻率其實就是螢幕更新頻率,兩個回傳信號之間的時間理論上就是信號的週期,很簡單的物理常識。

垂直同步的原理和功效

先說不打開垂直同步時的情況,如果沒有垂直同步,顯示卡就會無節制地繪製影像,並馬上傳送到螢幕準備顯示。例如遊戲時FPS是100,其實代表顯示卡每秒繪製出100張完整影像供螢幕顯示。可是,螢幕必須等待垂直同步信號才會開始下一個影格的掃描,以60Hz的螢幕為例,每秒只能顯示60個影格,所以實際上只有其中60個被輸出的影像可以顯示到螢幕,其餘40個影格就會被拋棄,所以有人說高FPS時遊戲會出現抖跳和撕裂的情況,又或者遊戲速度比正常快,就是這個原因。前者因為抽取作顯示的影格可能不是平均抽取,後者則因為遊戲本身的運行進程是依賴畫面輸出速度,這在舊款遊戲時常發生。

打開垂直同步後,顯示卡就必須等待垂直同步信號到達後才輸出下一個影像數據,如果螢幕是60Hz的話顯示卡就會被限制以60FPS為上限進行繪製,省下來的效能就能轉而用在畫質運算上。其實人所能識別的極限速率只不過是75FPS左右,縱使FPS跑得再高也是浪費,更何況過高的FPS螢幕顯示不到,使畫面失去連貫,反而不好。垂直同步不單能優化顯示卡的工作,更可保證所有畫面皆能顯示,令畫面更順滑、穩定而且連貫,流暢度也能保持。不過缺點也有一個,由於垂直同步會將已繪製完成的數據暫存到記憶體的緩衝區內以備輸出,對顯示卡會造成頗大的負荷,除了效能有所下降外,也犧牲了遊戲速度,玩家煩惱遊戲時按鍵和滑鼠反應遲鈍就是因為這樣。如果顯卡的記憶體夠多,使用更多重的緩衝可舒緩問題。

如果FPS低於Refresh Rate,又有沒有問題呢?其實也是有的。如果FPS只有20,這20次畫面變換有可能不是平均分佈在60次的更新中,造成不同步的情況,遊戲時感覺移動時快時慢的。

在低FPS的時候,打開垂直同步亦非一無是處,它能強制顯示卡平均地輸出影像,不同廠商的顯卡也會設定在低FPS時鎖定以更低的FPS輸出,以保證畫面順滑地顯示,不會時快時慢。不過,FPS會有所下降,造成lag機的另一致命問題,玩家要權衡一下。

使用時機

如果遊戲時FPS都超出Refresh Rate很多的話,我建議開啟垂直同步,流暢程度會大大改善,除非顯卡記憶體非常不足。如果FPS有25以上,可視乎畫面的順滑程度選擇開啟。要是不足25FPS,那就要測試一下開啟後的流暢度能否接受。

One thought on “垂直同步的迷思

Leave a comment